linux Centos 安装 mysql 教程
-
上传 mysql 安装包到 /usr/local 下(目录不限制,自行改为自己需要的路径即可)
官方的安装包还得登录,太麻烦了,下边是天翼云下载链接,需要可自取:
5.7 安装包:https://cloud.189.cn/t/FrqMFjUVfMvi
8.0 安装包:https://cloud.189.cn/t/fMRRvm3mYJJ3 -
创建 mysql 用户
useradd mysql
修改mysql密码
passwd mysql
-
解压安装包
tar -zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz
- 解压后的目录改名为 mysql
mv mysql-5.7.18-linux-glibc2.5-x86_64 mysql
- 创建数据和日志目录
mkdir -p /var/lib/mysql/data /var/lib/mysql/logs /var/lib/mysql/backup
data 为数据目录
logs 为日志目录
backup 为备份用目录,可不建
- 修改目录权限
chown -R mysql:mysql /var/lib/mysql
- 编辑 /etc/my.cnf 配置文件
示例:
[client]
#client character set
default_character_set = utf8
#default login user
user = root
#default password
password = 123
[mysqld]
#########genarel config##########
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#the user runnging mysqld process
user = mysql
#base directory
basedir=/usr/local/mysql
#data directory
datadir=/var/lib/mysql/data
#db server character set
character_set_server = utf8
#default engine
default_storage_engine = innodb
#server id
server_id = 1
#service port
port = 3306
#max connections
max_connections = 1000
#skip resolve name
skip_name_resolve = on
#pid file's directory
pid_file = /var/lib/mysql/logs/mysql.pid
######log part####
#swith on genarel log
general_log = on
#name and directory of genarel log
general_log_file = /var/lib/mysql/logs/m2.general
#swith on binnary log and set the file
log_bin = /var/lib/mysql/logs/m2.bin
#index of bannary log
log_bin_index = /var/lib/mysql/logs/m2-bin.index
#swith bannary log
slow_query_log = on
#name and directory of slow query log
slow_query_log_file = /var/lib/mysql/logs/m2.slow
#the unit of slow log ,second
slow_launch_time=2
#error log setting
log_error = /var/lib/mysql/logs/m2.err
expire_logs_days = 14
######innodb setting ######
#innodb memory size,byte
innodb_buffer_pool_size=512M
#innodb instance number
innodb_buffer_pool_instances=8
#dump cache from memory to disk when server shutdown
innodb_buffer_pool_dump_at_shutdown=on
#record page cache immediate
innodb_buffer_pool_dump_now=on
#import cache from disk to memory when server startup
innodb_buffer_pool_load_at_startup=on
#immediate cache buffer_pool
innodb_buffer_pool_load_now=on
#log buffer 8M to 32M
innodb_log_buffer_size=8M
#the size of binnary log
innodb_log_file_size=100M
#the action of write log to disk:0--flush per second;1--flush on tranction commit(default); 2--0 and 1
innodb_flush_log_at_trx_commit=1
######MyIsam setting######
key_buffer_size=128M
read_buffer_size=256K
read_rnd_buffer_size=256K
sort_buffer_size=256K
join_buffer_size=256K
- 初始化 mysql
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/var/lib/mysql/data
正常执行完之后,查看 logs 目录下 .err 尾缀的文件,会有初始 root 密码;
此处如果一闪而过或出现其他错误,请查看 logs 目录下 .err 尾缀的文件,内有说明错误原因。
- 将 mysql 添加到服务
cp /usr/local/mysql/supports/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld off
chkconfig --levels 35 mysqld on
- 将 mysql 下的 bin 目录添加到 PATH 环境变量中
# 打开并编辑
vi /etc/profile
# 在文件的结尾输入
PATH=/usr/local/mysql/bin:$PATH
# 使修改后的环境变量生效
source /etc/profile
- 启动 mysql 服务
service mysqld start
- 登陆 mysql 并修改 root 用户密码
mysql -u root -p
输入初始化时生成的随机密码即可登陆成功
# 修改默认密码
alter user 'root'@'localhost' identified by '123';
# 刷新权限
flush privileges;
- 安装完成
此时可以使用 root 用户在本机登陆,不能通过客户端登陆。
- 新建账户
create user '新帐户名称'@'%' identified by '‘密码';
# 刷新权限
flush privileges;
- 新账户授权
grant all privileges on *.* to '新帐户名称'@'%' with grant option;
with gran option 表示该用户可给其它用户赋予权限,但不可能超过该用户已有的权限,比如 a 用户有 select,insert 权限,也可给其它用户赋权 select,insert,但它不可能给其它用户赋 delete 权限,除了 select,insert 以外的都不能,这句话可加可不加,视情况而定。
all privileges 可换成 select,update,insert,delete,drop,create 等操作,如:grant select,insert,update,delete on *.* to '用户名'@'%';
第一个 * 表示通配数据库,可指定新建用户只可操作的数据库,如:grant all privileges on 数据库.* to '用户名'@'%';
第二个 * 表示通配表,可指定新建用户只可操作的数据库下的某个表,如: grant all privileges on 数据库.指定表名 to '用户名'@'%';
via:
MYSQL8用户创建及权限操作 - 尘埃看世界 - 博客园
https://www.cnblogs.com/gychomie/p/11013442.html
MySQL 8.0 以上版本重置 root 用户密码的终极办法 - Dorisoy - 博客园
https://www.cnblogs.com/mschen/p/11511578.html
mysql添加用户、修改权限,修改登录权限ip - 低调人生 - 博客园
https://www.cnblogs.com/lemon-flm/p/7597879.html