方法一(推荐使用)
1:下载mysql源安装包
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
2:安装mysql源
yum localinstall mysql57-community-release-el7-8.noarch.rpm
3:检查mysql源是否安装成功
yum repolist enabled | grep "mysql.*-community.*"
看到上图所示表示安装成功。
可以修改vim /etc/yum.repos.d/mysql-community.repo源,改变默认安装的mysql版本。比如要安装5.6版本,将5.7源的enabled=1改成enabled=0。然后再将5.6源的enabled=0改成enabled=1即可。改完之后的效果如下所示:
4:安装MySQL
yum install mysql-community-server
5:启动MySQL服务
systemctl start mysqld
6;查看MySQL的启动状态
systemctl status mysqld
7:查看mysql默认生成的临时密码
grep 'temporary password' /var/log/mysqld.log
8: 用临时密码登陆mysql
mysql -uroot -p 临时密码
9: 修默认登陆密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
如果出现以下情况:是由于MySQL5.6.6版本之后增加了密码强度验证插件validate_password,相关参数设置的较为严格。
1) 查看mysql全局参数配置
该问题其实与mysql的validate_password_policy的值有关。
查看一下msyql密码相关的几个全局参数:
- 参数解释
validate_password_dictionary_file
插件用于验证密码强度的字典文件路径。
validate_password_length
密码最小长度,参数默认为8,它有最小值的限制,最小值为:validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)
validate_password_mixed_case_count
密码至少要包含的小写字母个数和大写字母个数。
validate_password_number_count
密码至少要包含的数字个数。
validate_password_policy
密码强度检查等级,0/LOW、1/MEDIUM、2/STRONG。有以下取值:
配置默认编码为utf8
- 默认配置文件路径:
配置文件:/etc/my.cnf
日志文件:/var/log/mysqld.log
10:远程授权
Mysql下
登录授权:grant all privileges on *.* to'root' @'%' identified by 'root';
授权生效:flush privileges;
注意点:数据库安装前,保证之前安装的mysql卸载的干干净净。
11:mysql自启动
- 使用命令systemctl enable mysqld.service设置自启动。
- 使用reboot重启电脑
- netstat -na | grep 3306,如果看reboot
- 到有监听说明服务启动了
4)mysql -uroot -p MyNewPass4! 测试下
5)mysql_upgrade -u root -p 更新mysql库 新旧数据库兼容
方法二:
1:下载压缩包最新版,mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz。
下载路径见下:
2: 解压: 将jar包拷贝到/usr/local目录下,然后解压。
tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz ,如下所示
3: 删除压缩包:rm -rf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
4: 将解压后的文件重命名:mv mysql-5.7.22-linux-glibc2.12-x86_64/mysql,保证mysql安装在/usr/local目录下,安装别的目录可能会有问题。
5: 查看系统是否自带mysql.
rpm -qa | grep mysql 目前咱们服务器没有自带服务器,此步略去。
6:创建用户组和用户
创建用户组:groupadd mysql (备注:存在的话就不用再管了)
创建用户 : useradd -r -g mysql mysql
7: 给用户指定专有用户和用户组
创建data目录 : cd /usr/local/mysql
mkdir data
使用ls查看
指定用户组和用户: cd/usr/local chown -R mysql mysql/ chgrp -R mysql mysql/
8:初始化mysql
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US
如果忘记密码或者想重新初始化,可以先将mysql/data目录中文件删除,然后再执行初始化命令.在命令行最后一行有临时密码,切记保存。不需要重新装mysql或者去找密码,这么做都过于麻烦!
9:配置my.cnf
vi /etc/my.cnf 配置如下:见下图。我们使用精简版,只需配置basedir 和 datadir
10、启动
cd /usr/local/mysql/bin
启动:./mysqld_safe --user=mysql &
11、设为开机启动
cd /usr/local/mysql/support-files/
cp mysql.server /etc/init.d/mysql
vi /etc/init.d/mysql
将mysql目录填上:
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/
授权:chmod +x /etc/init.d/mysql
设为开机启动:chkconfig --add mysql
12、service启动
重启服务:service mysql restart
停止服务:service mysql stop
启动服务:service mysql start
查看服务:service mysql status
13、登录mysql修改密码授权远程登录
cd /usr/local/mysql/bin
登录:./mysql -u root -p 临时密码(备注:截图中有)
修改密码:set password=password("root");
登录授权:grant all privileges on *.* to'root' @'%' identified by 'root';
授权生效:flush privileges;
14:使用./mysql -uroot -proot登录。
15: 修改环境变量
cd /etc/profile 在文件末尾
此时就可以全局登录啦,使用mysql -uroot -proot
16:注意关闭防火墙
开启防火墙 systemctl start firewalld.service
关闭防火墙 systemctl stop firewalld.service
17:成功,安装完成。
18:远程连接:mysql默认端口3306
打开navicat premium,选择 连接-MySQL,如下图所示
点击连接测试后,确定。至此数据库安装全部完成!
19:参考文档:
https://blog.youkuaiyun.com/NB6063/article/details/80417319
找不到mysql.sock,mysql丢失问题文档
https://blog.youkuaiyun.com/ninjya_luck/article/details/51178167
有的时候,进程被占了,去启动不起来或者连不上数据库。
ps -aux|grep mysql 然后kill掉对应的进程,重新操作即可。