centos离线安装mysql5.7
安装
查询并卸载系统自带的Mariadb
rpm -qa | grep mariadb rpm -e --nodeps 文件名
-
mysql.rpm安装包-MYSQL官网下载地址:https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar
-
移动mysql的安装包到 /home/senken/mysql/ 目录下,解压文件
cd /home/senken/mysql tar -xvf mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar
-
执行安装
rpm -Uvh *.rpm --nodeps --force
Mysql配置
-
首先关闭mysql服务:
service mysqld stop
-
修改配置文件:在my.cnf中添加代码:skip-grant-tables 添加这句话,登入mysql就不需要密码。
vi /etc/my.cnf
-
按 a 或 i 进入编辑模式,在[mysqld]下添加代码:skip-grant-tables 然后按 esc 键退出编辑模式,输入 :wq 保存并退出。添加这句话,登入mysql就不需要密码。
-
开启mysql服务,空密码登录mysql ,出现输入密码提示直接回车
service mysqld start mysql -u root -p
-
设置mysql密码:
mysql> set password for root@localhost = password('senken'); ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement mysql> flush privileges; #更新权限 Query OK, 0 rows affected (0.00 sec) mysql> set password for root@localhost = password('senken'); Query OK, 0 rows affected, 1 warning (0.00 sec) mysql>flush privileges; #更新权限 mysql>quit; #退出
-
停止mysql服务,并还原配置文
service mysqld stop vi /etc/my.cnf
- 按 a 或 i 进入编辑模式,在skip-grant-tables前面输入 #,然后按 esc 键退出编辑模式,输入 :wq 保存并退出。
- 启动mysql,重新登录
service mysqld start mysql -uroot -p #输入新密码登录
mysql配置远程连接
-
进入到数据库中,并输入:
GRANT ALL PRIVILEGES ON *.* TO '登录用户名'@'%' IDENTIFIED BY '登录密码' WITH GRANT OPTION;
这里表示赋予该用户所有数据库所有表(.表示所有表),%表示所有IP地址。
-
输入之后如果报错,则需要设置用户密码长度和密码验证强度。最后刷新权限:flush privileges;
mysql> set global validate_password_policy = low; Query OK, 0 rows affected (0.00 sec) mysql> set global validate_password_length = 6; Query OK, 0 rows affected (0.00 sec) mysql> alter user 'root'@'localhost' identified by 'senken'; Query OK, 0 rows affected (0.02 sec) mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'senken' WITH GRANT OPTION; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> show variables like 'validate_password%'; +--------------------------------------+-------+ | Variable_name | Value | +--------------------------------------+-------+ | validate_password_check_user_name | OFF | | validate_password_dictionary_file | | | validate_password_length | 6 | | validate_password_mixed_case_count | 1 | | validate_password_number_count | 1 | | validate_password_policy | LOW | | validate_password_special_char_count | 1 | +--------------------------------------+-------+ 7 rows in set (0.00 sec)
设置mysql开机自启
systemctl enable mysqld
end!