Windows
mysql版本地址 https://dev.mysql.com/downloads/mysql/
1、解压到自定义文件夹,如 D:\mysql-8.0.22-winx64
并在当前路径下创建my.ini文件
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\mysql-8.0.22-winx64 # 记住要更改这个路径
# 设置mysql数据库的数据的存放目录
datadir=D:\mysql-8.0.22-winx64\data # 记住要更改这个路径
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
2、新建数据目录(其实可以不用创建,当执行 mysqld --install后会自动创建) D:\mysql-8.0.22-winx64\data
3、设置环境变量 3.1、新建环境变量: 变量名 MYSQL_HOME 变量路径 D:\mysql-8.0.22-winx64 3.2、在PATH添加环境变量路径 D:\mysql-8.0.22-winx64\bin
4、使用管理员运行cmd
mysqld --install
mysqld --initialize --console
记录下root的临时密码:root@localhost:*8)q6jIuwV<t
5、启动数据库
net start mysql
6、登录数据库(拥有root权限)
mysql -uroot -proot
7、修改初始密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';
刷新权限:
flush privileges;
show variables like '%char%'; 显示编码参数,确认是UTF-8
8、创建新的用户
create user new_user identified by 'new_user';
create user walden identified by 'walden';
9、赋予该用户指定数据库的操作权限(% 表示可远程登陆,localhost表示只能本机登录)
grant 权限 on 数据库.* to 用户名@登录主机;
grant all on walden* to 'walden'@'%';
10、修改密码规则:(否则无法远程登陆)
ALTER USER 'new_user'@'%' IDENTIFIED BY 'new_user' PASSWORD EXPIRE NEVER;
ALTER USER 'new_user'@'%' IDENTIFIED WITH mysql_native_password BY 'new_user';
Linux
搜索
apt-cache search mysql
卸载
apt-get purge mysql*
apt-get purge mariadb*
or centos
rpm -qa|grep mariadb
#mariadb-libs-5.5.60-1.el7_5.x86_64
rpm -e --nodeps mariadb #tab补齐
下载mysql安装包
地址 https://dev.mysql.com/downloads/mysql/
包 https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
解压
tar xvJf **.tar.xz mkdir /usr/local/mysql mv mysql-8.0.13-linux-glibc2.12-x86_64/ /usr/local/mysql cd /usr/local/mysql
配置文件etc下的my.cnf
rm /etc/my.cnf
vim /etc/my.cnf
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[mysqld]
skip-name-resolve
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎,innodb支持事物
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
创建mysql用户和组
cat /etc/group | grep mysql
cat /etc/passwd | grep mysql
#没有就u添加
groupadd mysql
useradd -g mysql mysql
passwd mysql
#当前所属赋给mysql
mkdir -R /usr/local/mysql/data
#在mysql中添加data文件夹
chown -R mysql /home/mysql/
chgrp -R mysql /home/mysql/
#chown -R mysql:mysql /home/mysql/ 效果一样
安装
cd /usr/local/mysql && bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data/
记住密码,比如 root@localhost: ;I/w8T4sr%.l
创建软连接
ln -s /usr/local/mysql/support-files/mysql.server /usr/bin/mysqld
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
启动mysql
mysqld start
修改默认密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mysql';
刷新权限
flush privileges;