文章主要参考centos下安装mysql5.7.23
2020年6月18日19:05:50更新
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. 如果遇到这个错是需要先修改初始密码, 执行这个命令alter user 'root'@'localhost' identified by '123456';
设置密码有复杂度验证,可以通过下面的命令修改一下复杂程度。
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> use mysql
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
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)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.00 sec)
安装之前先检查当前机器有没有安装mysql
[root@localhost ~]# rpm -qa |grep mysql
mysql-community-client-5.7.23-1.el6.x86_64
mysql-community-common-5.7.23-1.sles12.x86_64
mysql-community-libs-5.7.23-1.el6.x86_64
mysql-community-libs-compat-5.7.23-1.el6.x86_64
mysql-community-server-5.7.23-1.el6.x86_64
[root@localhost ~]#
上述这个是我已经安装好了mysql,版本是5.7.23,一般来说red hat自带的mysql应该是5.17的版本,所以我先卸载默认自带的,卸载命令是
yum -y remove mysql-community-server-5.7.23-1.el6.x86_64
这里加上-y是不要老是提醒,让系统自动选择的意思。
记住需要卸载干净,免得后面麻烦
如果上面的卸载不了使用rpm命令卸载
[root@madman share]# rpm -ev mysql-community-libs-5.7.23-1.el6.x86_64 --nodeps
关于如何卸载mysql可以参考这个文章
Linux下yum方式安装mysql 以及卸载mysql
第二步就是下载rpm的文件了
从官网找到自己需要安装的mysql版本的rpm文件。
这里选择bundle的下载链接,因为安装mysql需要很多个rpm,一个一个下载懒得麻烦。
在linux直接使用wget进行下载,要识别域名,需要自己配置DNS解析。
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.23-1.el6.x86_64.rpm-bundle.tar
卸载完成之后删除相对应的目录和文件,可以参考上面的链接。
通过find / -name mysql
找到相对应的目录,然后删掉。
/var/log/mysqld.log
这个文件卸载也要删掉。
第三步就是解压下载下来的tar文件
tar -xvf mysql-5.7.23-1.el6.x86_64.rpm-bundle.tar -C ./mysql-install
解压后的目录是这有的,有很多的rpm文件。
[root@localhost mysql_install]# ll
total 4665204
-rw-r--r-- 1 root root 4301381078 Sep 15 16:17 all.sql
-rw-r--r-- 1 7155 31415 24024136 Jun 11 11:21 mysql-community-client-5.7.23-1.el6.x86_64.rpm
-rw-r--r-- 1 7155 31415 340072 Jun 11 11:21 mysql-community-common-5.7.23-1.el6.x86_64.rpm
-rw-r--r-- 1 7155 31415 3736628 Jun 11 11:21 mysql-community-devel-5.7.23-1.el6.x86_64.rpm
-rw-r--r-- 1 7155 31415 39496088 Jun 11 11:21 mysql-community-embedded-5.7.23-1.el6.x86_64.rpm
-rw-r--r-- 1 7155 31415 137638820 Jun 11 11:21 mysql-community-embedded-devel-5.7.23-1.el6.x86_64.rpm
-rw-r--r-- 1 7155 31415 2192692 Jun 11 11:21 mysql-community-libs-5.7.23-1.el6.x86_64.rpm
-rw-r--r-- 1 7155 31415 1723712 Jun 11 11:21 mysql-community-libs-compat-5.7.23-1.el6.x86_64.rpm
-rw-r--r-- 1 7155 31415 160480880 Jun 11 11:21 mysql-community-server-5.7.23-1.el6.x86_64.rpm
-rw-r--r-- 1 7155 31415 106124936 Jun 11 11:21 mysql-community-test-5.7.23-1.el6.x86_64.rpm
[root@localhost mysql_install]#
然后呢就是开始安装mysql了
通过rpm文件安装是有顺序的,依次安装common > libs > libs-compat > client > server,安装命令如下
rpm -ivh mysql-community-common-5.7.23-1.el6.x86_64.rpm
这里注意的是如果安装出现依赖错误。
可以在后面添加参数--nodeps --force
rpm -ivh mysql-community-server-5.7.23-1.el6.x86_64.rpm --nodeps --force
我是在安装服务端的时候报了一个依赖错误,然后就用上面这个命令强制执行,然后就安装成功了。
rpm安装的mysql的默认密码
默认安装的mysql的密码在日志文件当中,文件位置是
[root@localhost mysql_install]# vi /var/log/mysqld.log
然后查找关键字root@localhost,后面的就是密码
2018-09-15T06:19:25.950827Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2018-09-15T06:19:26.265398Z 0 [Warning] InnoDB: New log files created, LSN=45790
2018-09-15T06:19:26.316538Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2018-09-15T06:19:26.375529Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 4bb5375e-b8af-11e8-beec-000c29c7c7d9.
2018-09-15T06:19:26.376691Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2018-09-15T06:19:26.378263Z 1 [Note] A temporary password is generated for root@localhost: 6lai,C0.blpp
启动停止命令
service mysqld start
service mysqld stop
service mysqld restart
连接mysql
[food@localhost ~]$ mysql -uroot -p你的密码
第一次登陆mysql的时候需要修改默认密码,密码的规则比较多,可以直接跳过检查。
关闭验证mysql的密码
修改文件mysql的配置文件
vim /etc/my.cnf
#加入以下,关闭校验插件
plugin-load=validate_password.so
validate-password=OFF
加好之后重启mysql
service mysqld restart
修改root的登录权限
默认的mysql只能本地登录,就是安装的机器上访问,修改root用户的访问权限。
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; //这个地方你的密码一定要对。
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;//刷新权限
Query OK, 0 rows affected (0.01 sec)
修改了之后怎么看改成了什么值呢,mysql的的用户是在mysql库上的,在user表里面,切到mysql,查看user用户表的数据。
use mysq;
select * from user;我的很多数据就不贴上来了。
基本安装完成了,这是通过rpm来安装的还有通过yum安装和源码安装的方式。