MySQL安装和配置

Centos8+ 安装 MySQL8+

解决 Centos8 yum源问题

Yum存储库中的MySQL安装程序包: 地址

1
2
3
4
5
6
7
8
9
10
11
1. 使用wget命令下载MySQL
sudo wget https://repo.mysql.com//mysql80-community-release-el8-4.noarch.rpm

2. 校验安装包 md5 hash
sudo md5sum mysql80-community-release-el8-4.noarch.rpm

3. 更新软件存储库
sudo rpm -ivh mysql80-community-release-el8-4.noarch.rpm

4. 安装MySQL
sudo yum install mysql-server

Centos8安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
检查是否安装
$ yum list installed mysql*
$ rpm -qa|grep -i mysql

删除
$ rpm -e mysql
$ rpm -e --nodeps mysql

查看安装包
$ yum list mysql*

安装客户端
$ yum install mysql

安装服务端
$ yum install mysql-server

Centos7安装

1
2
3
$ wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
$ rpm -ivh mysql57-community-release-el7-9.noarch.rpm
$ yum -y install mysql-server

目录位置

1
2
3
4
5
6
7
8
9
10
11
配置文件
/etc/my.cnf

日志文件
/var/log/mysqld.log

启动脚本
/usr/lib/systemd/system/mysqld.service

socket文件
/var/run/mysqld/mysqld.pid

运行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
启动
$ service mysqld start
$ systemctl start mysqld.service

关闭
$ service mysqld stop

重启
$ service mysqld restart

查看状态
$ service mysqld status
$ systemctl status mysqld.service

设置开机启动
$ systemctl enable mysqld

关闭开机启动
$ systemctl disable mysqld

配置文件

1
2
3
4
5
查看配置
$ cat /etc/my.cnf

修改配置
$ vim /etc/my.cnf

修改字符集

1
2
3
4
5
6
7
8
9
10
11
[client]
default-character-set=utf8mb4

[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
init_connect='SET NAMES utf8mb4'
skip-character-set-client-handshake = true

[mysql]
default-character-set = utf8mb4

密码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
查看临时密码
$ cat /var/log/mysql/mysqld.log

查看临时密码
$ grep 'temporary password' /var/log/mysqld.log

查看密码
$ grep "password" /var/log/mysqld.log

查看初始密码规则
> SHOW VARIABLES LIKE 'validate_password%';

修改密码规则
> set global validate_password_policy=0;
> set global validate_password_length=4;

修改密码
> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

权限

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
刷新权限
> flush privileges;

远程登录
> update user set host='%' where user='root';


创建用户
> CREATE USER 'jinhe'@'%' IDENTIFIED BY 'pwd';

查看用户权限
> show grants for user;

授权
> grant all privileges on *.* to root@'%' identified by 'password';

授权用户某个库
> grant all privileges on jinhe.* to root@'%';

端口

1
2
查看端口是否开启
$ lsof -i:3306

信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
查看状态
> STATUS;

查看支持的引擎
> SHOW ENGINES;

查看运行的线程
> SHOW PROCESSLIST;
> SHOW FULL PROCESSLIST;

查看警告信息
> SHOW WARNINGS;

查看数据储存路径
> SHOW GLOBAL VARIABLES LIKE "%datadir%";

问题集锦

解决 bash: zsh: command not found: mysqldump

1
2
3
4
5
6
7
8
9
> vi ~/.bash_profile

#mysql
PATH=$PATH:/usr/local/mysql/bin
export

:wq

> source ~/.bash_profile

Windows 修改 MySQL 储存位置

1
2
3
4
5
关闭服务
修改 C:\ProgramData\MySQL\MySQL Server 8.0\my.ini
datadir=D:/ProgramData/MySQL/MySQL Server 8.0/Data
将原来的 Data 文件夹剪切至目标位置
重启服务
作者

Shanti

发布于

2016-03-12

更新于

2022-10-13

许可协议