**CentOS 6 安装 Mysql**
MYSQL 安装包
链接:https://pan.baidu.com/s/1NedsOQ7THvBJRhcUgRusKQ
提取码:fzx6
上传压缩包到服务器
一、解压 :
tar -zxvf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
建议把解压目录重命名:
mv mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz mysql5.7
一般情况下,Centos 下 都自带了mysql,将之前自带的mysql 删除掉。
查看是否存在以安装的mysql
rpm qa | grep -i mysql
卸载自带的mysql:
rpm -ev --nodeps mysql-libs-5.1.73-8.el6_8.x86_64
groupadd mysql
useradd -r -g mysql mysql
chown -R mysql:mysql mysql
在mysql目录下创建data文件夹:
mkdir data
进入bin目录,初始化数据库
./mysqld --initialize --user=mysql --basedir=/opt/mysql --datadir=/opt/mysql/data
编辑配置文件vi /etc/my.cnf
在这里要注意 my.cnf文件,在你卸载自带的mysql之前需要备份一下,my.cnf 文件。不然配置文件会和安装包一起删除掉。
skip-grant-tables跳过密码验证
将mysql加入到服务:
cp ./support-files/mysql.server /etc/init.d/mysql
开机启动:
chkconfig mysql on
启动MySQL:
service mysql start
将mysql服务加入到环境变量:
vi /etc/profile
export PATH=$PATH:/opt/mysql/bin
重新加载配置文件以生效:
source /etc/profile
登录:
./mysql -u root -p
因为设置了跳过密码验证。出现password直接enter跳过
重新设置root密码:
update user set authentication_string=password('rst@2021') where user='root';
Exit退出mysql,修改配置文件vi /etc/my.cnf,将skip-grant-tables注释掉。
重启mysql重新登录
如果进行操作出现下面的提示:
You must reset your password using ALTER USER statement before executing this statement
重新设置一边密码:
alter user 'root'@'localhost' identified by 'rst@2021';
退出重新登录mysql
use mysql
update user set host='%' where user = 'root';
flush privileges;
exit;
开启远程登录。
下面是我发现的问题
mysql> show databases;
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版本5.7.6版本以前用户可以使用如下命令:
mysql> SET PASSWORD = PASSWORD('rst@2021');
MySQL版本5.7.6版本开始的用户可以使用如下命令:
mysql> ALTER USER USER() IDENTIFIED BY 'rst@2021';
MySQL 5.7.4版开始,用户的密码过期时间这个特性得以改进,可以通过一个全局变量default_password_lifetime来设置密码过期的策略,此全局变量可以设置一个全局的自动密码过期策略。可以在MySQL的my.cnf配置文件中设置一个默认值,这会使得所有MySQL用户的密码过期时间都为120天,MySQL会从启动时开始计算时间。my.cnf配置如下:
[mysqld]
default_password_lifetime=120
如果要设置密码永不过期,my.cnf配置如下:
[mysqld]
default_password_lifetime=0
如果用navicat 出现 1045 错误 建议 删除连接 重新设置。