启动/停止
service mysqld start
service mysqld stop

安装步骤

一、创建mysql文件夹和mysql的data文件夹

mkdir /usr/local/mysql
mkdir /usr/local/mysql/data

二、创建mysql账户

groupadd mysql
useradd -r -g mysql mysql

三、解压/移动

解压:
tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
移动到mysql目录:
mv mysql-5.7.21-linux-glibc2.12-x86_64/* /usr/local/mysql/

四、开始安装

cd /usr/local/mysql
./bin/mysql_install_db —user=mysql —basedir=/usr/local/mysql/ —datadir=/usr/local/mysql/data/
安装过程很快,期间会出现几个warning,基本都是一些open file和cache的大小,只要不出现error就不影响

五、添加my.cnf文件及内容到 /etc根目录下

  1. [client]
  2. port = 3306
  3. [mysqld]
  4. #skip_grant_tables
  5. #Mysql服务的唯一编号 每个mysql服务Id需唯一
  6. server-id = 1
  7. #服务端口号 默认3306
  8. port = 3306
  9. #mysql安装根目录
  10. basedir = /usr/local/mysql
  11. #mysql数据文件所在位置
  12. datadir = /usr/local/mysql/data
  13. #事务隔离级别,默认为可重复读,mysql默认可重复读级别(此级别下可能参数很多间隙锁,影响性能)
  14. transaction_isolation = READ-COMMITTED
  15. #数据库默认字符集,主流字符集支持一些特殊表情符号(特殊表情符占用4个字节)
  16. character-set-server = utf8mb4
  17. #数据库字符集对应一些排序等规则,注意要和character-set-server对应
  18. collation-server = utf8mb4_general_ci
  19. #设置client连接mysql时的字符集,防止乱码
  20. init_connect='SET NAMES utf8mb4'
  21. #是否对sql语句大小写敏感,1表示不敏感
  22. lower_case_table_names = 1
  23. #最大连接数
  24. max_connections = 400
  25. #最大错误连接数
  26. max_connect_errors = 1000
  27. #TIMESTAMP如果没有显示声明NOT NULL,允许NULL值
  28. explicit_defaults_for_timestamp = true
  29. #SQL数据包发送的大小,如果有BLOB对象建议修改成1G
  30. max_allowed_packet = 128M
  31. #MySQL连接闲置超过一定时间后(单位:秒)将会被强行关闭
  32. #MySQL默认的wait_timeout 值为8个小时, interactive_timeout参数需要同时配置才能生效
  33. interactive_timeout = 1800
  34. wait_timeout = 1800
  35. #内部内存临时表的最大值 ,设置成128M。
  36. #比如大数据量的group by ,order by时可能用到临时表,
  37. #超过了这个值将写入磁盘,系统IO压力增大
  38. tmp_table_size = 134217728
  39. max_heap_table_size = 134217728
  40. #禁用mysql的缓存查询结果集功能
  41. #后期根据业务情况测试决定是否开启
  42. #大部分情况下关闭下面两项
  43. query_cache_size = 0
  44. query_cache_type = 0

将配置项保存后,将mysq服务添加到系统服务:
cp -a ./support-files/mysql.server /etc/init.d/mysqld

六、启动mysql服务,并作用户密码配置

创建ln(创建后可以在操作系统任何目录运行mysql命令):
ln -s /usr/local/mysql/bin/mysql /usr/bin/
启动mysql服务:
service mysqld start

七、修改密码

执行:
mysql -u root -p 回车->密码提示->(不理会)继续回车,登录成功(由于在my.cnf里配置了skip-grant- tables,所以这里可以不用输入密码,直接登录)

执行:
use mysql;
update user set authentication_string=password(‘rootabc’) where user=’root’;
注意:如果是低版本的mysql,修改的字段会有所不同(看到最后)。

执行:
flush privileges;
quit;

执行:
service mysqld stop

vi /etc/my.cnf
找到[mysqld],将skip-grant-tables这一行注释掉,即前面加“#”

执行:
:wq!
保存并关闭my.cnf

执行:
service mysqld start
mysql -u root -p
输入密码,回车登录成功。

八、MySQL远程服务连接设置

用root登录到mysql,即可。
执行:
mysql -u root -p rootabc
use mysql;
GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘rootabc’ WITH GRANT OPTION;
update user set authentication_string=password(‘rootabc’) where user=’root’;
flush privileges;
quit;

九、Linux 设置mysql开机自启动

1、将服务文件拷贝到init.d下,并重命名为mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
2、赋予可执行权限
chmod +x /etc/init.d/mysqld
3、添加服务
chkconfig —add mysqld
4、显示服务列表
chkconfig —list
如果看到mysql的服务,并且3,4,5都是开的话则成功,如果是关,则:chkconfig —level 345 mysqld on

注意:云平台上的端口该开放的就设置开放,服务器上的防火墙端口该开放的也设置开放。

出现的错误备注:

1、mysql 启动错误(InnoDB: Operating system error number 13 )
错误13说明没有权限。
使用命令(可以解决):
chmod -R 777 /var

2、You must reset your password using ALTER USER statement before executing this statement报错处理
MySQL版本5.7.6版本以前用户可以使用如下命令:
SET PASSWORD = PASSWORD(‘rootabc’);
MySQL版本5.7.6版本开始的用户可以使用如下命令:
ALTER USER USER() IDENTIFIED BY ‘rootabc’;
flush privileges;
quit;

摘自网络自有整理并成功安装。