Linux安装Mysql(按步骤,一次成功)
日期: 2020-09-10 分类: 跨站数据 382次阅读
目录
一、卸载mariadb
说明:centos7默认不支持mysql(原因大家都懂),默认支持的是mariadb,mariadb是mysql一个开源分支。所以安装mysql前一定要卸载mariadb,否则安装mysql会出现冲突
1. 查看系统中是否存在mariadb
rpm -qa | grep mariadb
2. rpm -e --nodeps 第一步查找出来的rpm包(evenyone)
二、卸载mysql
说明:若想安装新的mysql,必须先卸载干净旧的mysql
1. 查看是否已安装过mysql
rpm -qa |grep -i mysql
2. yum remove 第一步查找出来的所有名称(evenyone)
3. 验证mysql是否卸载干净
rpm -qa |grep -i mysql
4. 查看mysql相关目录
find / -name mysql
5. 删除所有mysql相关目录
rm -rf 目录
6. 删除/etc/my.cnf
rm -rf /etc/my.cnf
7. 删除/var/log/mysqld.log(如果不删除这个文件,会导致新安装的mysql无法生成新密码,导致无法登陆)
rm -rf /var/log/mysqld.log
三、安装Mysql
1. 下载 mysql57-community-release-el7-8.noarch.rpm 的 YUM 源
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
2. 安装 mysql57-community-release-el7-8.noarch.rpm
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
3. 安装mysql-server,一路Y到底即可
yum install mysql-server
四、重置密码
1. 安装完毕后,运行mysql,然后在 /var/log/mysqld.log 文件中会自动生成一个随机的密码,我们需要先取得这个随机密码,以用于登录 MySQL 服务端:
service mysqld start
grep "password" /var/log/mysqld.log
2. 登录Mysql服务端
mysql -u root -p
输入grep的mysqld.log的最后面的字符即是密码
3. 更新用户root的密码
set password = password('root123');
alter user 'root'@'localhost' password expire never;
flush privileges;
4. 设置用户 root 可以在任意 IP 下被访问
grant all privileges on *.* to root@"%" identified by "root123";
5. 设置用户 root 可以在本地被访问
grant all privileges on *.* to root@"localhost" identified by "root123";
6. 刷新权限使之生效
flush privileges;
7. 输入 exit 后用新密码再次登录
exit
mysql -u root -p
输入新密码
五、控制命令:启动、停止、重启、查看状态
1. 方式一:
service mysqld start
service mysqld stop
service mysqld restart
service mysqld status
2. 方式二:
systemctl start mysqld
service mysqld stop
service mysqld restart
systemctl status mysqld
六、设置 MySQL 的字符集为 UTF-8
1. vim /etc/my.cnf
2. 在 [mysqld] 前添加如下代码:
[client] default-character-set=utf8
3. 在 [mysqld] 后添加如下代码:
default-storage-engine=INNODB character-set-server=utf8 collation-server=utf8_general_ci
4. 重启mysql并登录,查看字符集,6个utf8就算OK
show variables like '%character%';
5. 查看指定的数据库中指定数据表的字符集,如查看 mysql 数据库中 servers 表的字符集
show table status from mysql like '%servers%';
6. 查看指定数据库中指定表的全部列的字符集,如查看 mysql 数据库中 servers 表的全部的列的字符集
show full columns from servers;
七、忘记密码后重置
service mysqld stop
mysqld_safe --user=root --skip-grant-tables --skip-networking &
mysql -u root
进入Mysql后
use mysql;
update user set password=password("new_password") where user="root";
flush privileges;
八、 一些文件的存放目录
1. 配置文件
/etc/my.cnf
2. 存放数据库文件的目录
/var/lib/mysql
3. 日志记录文件
/var/log/mysqld.log
4. 服务启动脚本
/usr/lib/systemd/system/mysqld.service
5. socket文件
/var/run/mysqld/mysqld.pid
6. MySQL 采用的 TCP/IP 协议传输数据,默认端口号为 3306,我们可以通过如下命令查看
netstat -anp
除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog
精华推荐