之前记录过一篇无网环境下安装mysql, 各种依赖找的要死,因为是给*内的机构装环境,所以基本都是无外网环境的。如果想要纯手动安装mysql,可以参考
linux无网环境安装mysql8全流程
里边有各种包的下载连接。
环境下安装就超级简单了,只需要三行命令就可以成功安装mysql。
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server
安装需要一段时间,耐心等待显示complate表示安装完成。
下边启动mysql服务
systemctl start mysqld.service
查看运行状态
systemctl status mysqld.service
active(running)表示运行中。
安装时会生成初始密码,用grep 命令查看
grep "password" /var/log/mysqld.log
看到密码为qloa_jaXp3-h,用此密码首次进入数据库。
mysql -uroot -pqloa_jaXp3-h
成功进入数据库,但是初始密码不能做任何事情,必须修改密码之后才能操作数据库
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
提示我们密码不安全,如果不想有此限制,可以改掉。但是现在我们除了修改密码别的什么都做不了,所以现在只能改一个复杂一点的密码。比如Aaa123456!
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Aaa123456!';
可以通过
SHOW VARIABLES LIKE 'validate_password%';
查看密码规则,
这里,我们只需要修改两个地方
set global validate_password_policy=0; //没有字母特殊符号限制
set global validate_password_length=1; //长度至少为1
OK,下边创建一个可以远程登录的账号。
下边这个是网上有常见一种创建账号的方法只适用于5.7以前的版本,好处是可以通过一条语句完成所有工作,但现在的版本已经不能再用。
GRANT ALL PRIVILEGES ON *.* TO 'syy'@'%' IDENTIFIED BY 'Aaa123456!' WITH GRANT OPTION;
FLUSH PRIVILEGES;
8.0以上正确的写法是先创建用户
CREATE USER 'test'@'%' IDENTIFIED BY 'Aaa123456!';
再给用户授权
grant all privileges on *.* to 'test'@'%' ;
账号密码在远程登录不上报1251错误时使用下边的语句更改加密规则
ALTER USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY 'Aaa123456!';
mysql对于数据库中的表大小写敏感做法
systemctl stop mysqld.service
停止数据库服务后,修改
vi /etc/my.cnf
在[mysqld]下面添加
lower_case_table_names=1
做好备份,删除数据库数据
rm -rf /var/lib/mysql
重启数据库
systemctl start mysqld.service
设置开机启动
chkconfig mysqld on
最右一个问题,因为安装了Yum repository,所以当yum操作时会自动更新,我们把这个卸载掉:
yum -y remove mysql57-community-release-el7-10.noarch
OK!!