原创内容:https://blog.youkuaiyun.com/qq2531246791/article/details/89407917
提示: 如果要想直接运行 mysql bin目录下的程序 需要配置MYSQL 的环境变量,将MYSQL bin 目录加入导系统PATH 中
win 安装
-------------------------------------------------------------------
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:/mysql-5.7.24-winx64/bin
# 设置mysql数据库的数据的存放目录
datadir=D:/mysql-5.7.24-winx64/bin/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
编辑好my.ini文件之后,将my.ini文件放到C:\software\mysql-5.7.21-winx64目录下
mysqld -install
mysqld --initialize-insecure --user=mysql
net start mysql
mysqladmin -u root -p password 新密码
Enter password: 旧密码
需要输入旧密码时,由于旧密码为空,所以直接回车即可。
报错 (解决办法):
The vervice already exists!
The current server installed:以前安装mysql的地址/bin/mysqld-nt MYSQL
解决办法
移除原来的mysql服务
mysqld -remove MySQL
或者
sc delete mysql
重新注册 mysql服务
mysqld –install MySQL –defaults-file=”C:\mysql-5.1.34\my.ini”
mysql 用户授权
GRANT USAGE ON *.* TO 'root'@'%' IDENTIFIED BY 'root.123' WITH GRANT OPTION;
grant all privileges on *.* to 'root'@'%' identified by 'root.123';
GRANT USAGE ON *.* TO 'admin'@'%' IDENTIFIED BY 'admin.123' WITH GRANT OPTION;
grant all privileges on *.* to 'admin'@'%' identified by 'admin.123';
flush privileges;
GRANT ALL PRIVILEGES ON test.* TO test@'%' IDENTIFIED BY 'test';
给test用户赋值test库的所有权限
linux 安装 二级制 包
vim /etc/my.cnf
[mysqld]
character-set-server=utf8
init_connect='SET NAMES utf8'
basedir=/home/mysql-5.7.22-linux
datadir=/home/mysql-5.7.22-linux/data
socket=/tmp/mysql.sock
user=mysql
sql_mode='STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
log-bin=mysql-bin
binlog-format=ROW
server_id=1
lower_case_table_names=1
symbolic-links=0
[mysql]
default-character-set = utf8
[mysql.server]
default-character-set = utf8
[mysqld_safe]
default-character-set = utf8
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
default-character-set=utf8
添加linux用户 ,mysql 5.7 以后 root 用户默认不允许安装mysql
groupadd mysql
useradd -r -g mysql mysql
chown -R mysql:mysql mysql-5.7.22-linux
初始化 MYSQL
./bin/mysqld --initialize --user=mysql --basedir=/home/mysql-5.7.22-linux --datadir=/home/mysql-5.7.22-linux/data
[root@izm5edmlbagds9sewvotstz mysql-5.7.22-linux]# ./bin/mysqld --initialize --user=mysql --basedir=/home/mysql-5.7.22-linux --datadir=/home/mysql-5.7.22-linux/data
2019-02-26T10:35:38.233620Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2019-02-26T10:35:38.976859Z 0 [Warning] InnoDB: New log files created, LSN=45790
2019-02-26T10:35:39.088283Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2019-02-26T10:35:39.164344Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 4259a2c8-39b2-11e9-b523-00163e086b79.
2019-02-26T10:35:39.166528Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2019-02-26T10:35:39.169777Z 1 [Note] A temporary password is generated for root@localhost: 4Dahx*Hg1Khd
# 创建MYSQL 服务单元
cp support-files/mysql.server /etc/init.d/mysqld
vim /etc/init.d/mysqld
添加 basepath 、 datapath
service mysqld start
service mysqld status
./mysql -uroot -p
4Dahx*Hg1Khd
set password = password('root.123');
MYSQL 授权
GRANT USAGE ON *.* TO 'root'@'%' IDENTIFIED BY 'root.123' WITH GRANT OPTION;
grant all privileges on *.* to 'root'@'%' identified by 'root.123';
GRANT USAGE ON *.* TO 'admin'@'%' IDENTIFIED BY 'admin.123' WITH GRANT OPTION;
grant all privileges on *.* to 'admin'@'%' identified by 'admin.123';
flush privileges;