windows版 - 8.0.11
- 操作汇总
#进入mysql bin目录
cd D:\soft\mysql-8.0.11-winx64\bin
#安装mysql服务
mysqld.exe install
#初始化mysql
mysqld --initialize --console
#启动mysql
net start mysql
#登录mysql
mysql.exe -uroot -p
#修改密码
alter user 'root'@'localhost' identified with mysql_native_password by 'root';
flush privileges;
- 流程
- 位于根目录添加my.ini文件
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir= D:/soft/mysql-8.0.11-winx64
# 设置mysql数据库的数据的存放目录
datadir= D:/soft/mysql-8.0.11-winx64/data
# 允许最大连接数
max_connections=30
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
- 以管理员身份运行命令行窗口(CMD)
# 安装mysql服务
mysqld.exe install
# 初始化mysql
mysqld --initialize --console
# 启动mysql服务
net start mysql
# 登录
mysql.exe -uroot -p密码
# 修改密码
alter user 'root'@'localhost' identified with mysql_native_password by 'root';
flush privileges;
密码:
Linux版 - 5.7.27
- 环境准备
#查看是否安装libaio
rpm -qa|grep libaio
#安装libaio
yum install libaio
- 解压
tar -zxvf mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz -C /data
cd ..
mv mysql-5.7.27-linux-glibc2.12-x86_64/ mysql-5.7.27
mkdir mysql_data
- 新建用户和组/授权
#新建mysql用户和组
groupadd mysql
useradd -r -g mysql mysql
#给mysql目录赋角色
chown -R mysql:mysql mysql-5.7.27
chown -R mysql:mysql mysql_data
- 初始化
#切换至mysql用户
su mysql
cd /data/mysql-5.7.27/bin/
./mysqld --initialize --user=mysql --basedir=/data/mysql-5.7.27 --datadir=/data/mysql_data
#复制密码 hIdDZ>H4%HbS
初始化后的密码:
报错示例:
初始化时出现下面错误,需要检查libaio
./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解决方案:
出现该问题,使用root账号,首先检查该链接库文件有没有安装使用命令进行核查
exit #退出当前用户
rpm -qa|grep libaio #查看是否安装
yum install libaio #安装
运行该命令后发现系统中无该链接库文件
安装完成后,重新切换到mysql用户,继续mysql初始化
- 配置my.cnf
vim /etc/my.cnf
mkdir /var/lib/mysql
chown -R mysql:mysql /var/lib/mysql
chown -R mysql:mysql /etc/my.cnf
配置文件内容参考:
[mysql]
default-character-set=utf8
port=3306
[mysqld]
user=mysql
basedir=/data/mysql-5.7.27
datadir=/data/mysql_data
socket=/var/lib/mysql/mysql.sock
[mysqld_safe]
log-error=/data/mysql_data/mysqld.log
pid-file=/data/mysql_data/mysqld.pid
event_scheduler=1
innodb_file_per_table=1
innodb_buffer_pool_size=6G
innodb_flush_log_at_trx_commit=2
innodb_lock_wait_timeout=500
transaction_isolation=READ-COMMITTED
key_buffer_size=2G
read_rnd_buffer_size=16M
read_buffer_size=1M
query_cache_limit=4M
query_cache_size=64M
thread_cache_size=300
max_connections=1000
max_heap_table_size=1024M
max_allowed_packet=50M
lower_case_table_names=1
interactive_timeout=7200
symbolic-links=0
#binlog
#server_id=243 --这里不能重复
#log-bin=mysql-bin
#binlog_format=row
#expire_logs_days=10
#slave binlog
#log_slave_updates=1
#sync_binlog=1
#replicate-wild-ignore-table=mysql.%
#replicate-wild-ignore-table=performance_schema.%
!includedir /etc/my.cnf.d
- 设置开机启动
cd /data/mysql-5.7.27/support-files
cp mysql.server /etc/init.d/mysql
vim /etc/init.d/mysql
#修改一下内容
basedir=/data/mysql-5.7.27
datadir=/data/mysql_data
#配置mysql自动启动
chmod +x /etc/init.d/mysql
chkconfig --add mysql
#启动mysql
service mysql start
- mysql启动停止命令
重启服务:service mysql restart
停止服务:service mysql stop
启动服务:service mysql start
查看服务:service mysql status
- 测试登录
mysql -hlocalhost -uroot -p密码
异常示例:
1)
--如果出现:-bash: mysql: command not found
--就执行:ln -s /data/mysql-5.7.27/bin/mysql /usr/bin --没有出现就不用执行
2)
--如果出现:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
--就执行:ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
- 修改root账号密码
set password=password("新密码");
grant all privileges on *.* to 'root'@'%' identified by '新密码' with grant option;
flush privileges;
8.1 新建数据库,指定账号权限
CREATE DATABASE 数据库名 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
CREATE USER '用户名'@'%' IDENTIFIED BY '密码';
GRANT ALL ON 数据库名.* TO '用户名'@'%' IDENTIFIED BY '密码';
- 记得服务器开3306端口