在新的CentOS7系统中,首次安装mysql
在CentOS7中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。。
1、Yum Repository安装安装官方MySQL—5.7官方
1)下载
# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
2)安装community
# yum -y install mysql57-community-release-el7-10.noarch.rpm
3)安装mysql服务
# yum -y install mysql-community-server
如果遇到报错信息:
1.No match for argument: mysql-community-server
2.Error: Unable to find a match: mysql-community-server
尝试执行:
yum module disable mysql
然后在尝试:
yum install mysql-community-server
安装成功后,会覆盖默认的MariaDB
2、数据库设置
1)启动mysql
# systemctl start mysqld.service
如果遇到报错信息:
# bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
请执行:
#yum -y install numactl
然后继续启动mysql
2)查看mysql运行状态
# systemctl status mysqld.service
MySQL已经开始正常运行,我们还需要获得root用户的密码才可以进入mysql。
通过以下获取原始密码:
grep "password" /var/log/mysqld.log
红色框内是初始密码
进入mysql数据库:
mysql -uroot -p # 回车后会提示输入密码
输入初始密码,进入数据库。
下一步我们要修改密码才可以进一步操作数据库,使用以下语句:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
会报错,因为数据库的密码规则问题:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
查看数据库密码策略:
SHOW VARIABLES LIKE 'validate_password%';
得到:
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name | Value |
+--------------------------------------+-------+
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | 4 |
| validate_password_mixed_case_count | 1 |
| validate_password_number_count | 1 |
| validate_password_policy | LOW |
| validate_password_special_char_count | 1 |
+--------------------------------------+-------+
rows in set (0.01 sec)
validate_password_length决定了密码长度,而validate_password_length的计算公式是:
validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)
所以我们需要手动更改策略,修改密码为规范的密码;
解决方法就是修改密码为规范复杂的密码:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'z?guwrBhH7p>';
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)
然后我们就可以随意设置一些简单的密码即可了。
为防止yum操作自动更新,卸掉下面的东西:
yum -y remove mysql57-community-release-el7-10.noarch
到此,数据库安装大功告成。
3、客户端可视化工具访问
上面配置完成数据库,只适用服务器中自己调起访问
如果使用可视化工具,还需要授权:
grant all on *.* to root@'%' identified by '数据库密码';
注意:MySQL 8.0已经不支持上面这种命令写法
正确写法是:
grant all privileges on *.* to ‘root‘@‘%‘ ;
如果报错:
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
那就刷新权限,然后再执行授权操作,然后刷新权限:
flush privileges;
到此,mysql全部搞定!!!!