linux安装mysql5.7
linux安装mysql5.7步骤:
卸载原有mysql/mariadb依赖(删除前确认是否已经存在MySQL实例,如果存在则共享实例即可)
依次执行以下三行命令:
rpm -e --nodeps `rpm -qa | grep mysql`
rpm -e --nodeps `rpm -qa | grep MySQL`
rpm -e --nodeps `rpm -qa | grep mariadb`
解压安装包
切换工作目录:
cd /home/kingstar/program/software
mkdir mysql
解压到指定文件夹:
tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar -C /home/kingstar/program/software/mysql
cd mysql
mysql用户初始化
检查用户组是否存在:cat /etc/group | grep mysql
创建mysql用户
sudo groupadd mysql
sudo useradd -r -g mysql mysql -----r参数表示mysql用户是系统用户,不可用于登录系统
服务安装
执行 sudo rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm
执行 sudo rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm
执行 sudo rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm
执行 sudo rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm
注:如果安装 server RPM包报 libaio 错误时下载 http://mirror.centos.org/centos/6/os/x86_64/Packages/libaio-0.3.107-10.el6.x86_64.rpm
然后执行 rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm 进行安装后再执行
服务启动
设置开机自启:
systemctl enable mysqld.service
启动服务:
systemctl start mysqld.service
检查:
如果出现如下内容则表示启动成功
初始化数据库
1.查看Mysql初始密码:执行 grep 'temporary password' /var/log/mysqld.log
下图红框中的内容即为MySQL密码
2.mysql -uroot -p 进入控制台(密码复制上图红框内容后,用复制输入)
3.修改密码: ALTER USER 'root'@'localhost' IDENTIFIED BY 'Mysql2020!'; (此处必须修改,M大写,必须用alert user)
注:MySQL设置密码需要符合密码策略,不能过于简单,建议英文或者英文+数字组合
4.设置远程登陆权限(其他机器可使用工具连接登录):
grant all privileges on . to 'root'@'%' identified by 'Mysql2020!';
flush privileges;
退出 MySQL控制台
exit
修改配置文件
vi /etc/my.cnf
新增两行内容:
lower_case_table_names=1
sql_mode='NO_ENGINE_SUBSTITUTION'
重启mysql 即可
systemctl restart mysqld.service
特别注意点
①允许数据库远程连接 grant all privileges on . to ‘root’@’%’identified by ‘password’; flush privileges;
②数据查询时 列名忽略大小写,但数据库表名忽略大小写还需在my.cnf 配置文件中配置 lower_case_table_names=1 (1是忽略,0是区分)
③数据库查询用group by +多个属性时,查询报错(错误号1055),在my.cnf 配置文件中配置 sql_mode=’NO_ENGINE_SUBSTITUTION’
④Mysql 启动/重启/停止命令 service mysql start/restart/stop
亦可 systemctl start mysqld.service
systemctl 和 service 两种Linux命令管理方式