一.安装前准备
检查是否已安装
rpm -qa | grep mysql
如果已安装,执行删除命令
rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64
查询所有mysql文件夹并删除
[root@localhost /]# whereis mysql
mysql: /usr/bin/mysql /usr/include/mysql
[root@localhost lib]# find / -name mysql
/data/mysql
/data/mysql/mysql
[root@localhost /]# rm -rf /usr/bin/mysql /usr/include/mysql /data/mysql /data/mysql/mysql
mysql用户组和用户是否存在,如果没有,则创建
[root@localhost /]# cat /etc/group | grep mysql
[root@localhost /]# cat /etc/passwd |grep mysql
[root@localhost /]# groupadd mysql
[root@localhost /]# useradd -r -g mysql mysql
[root@localhost /]#
二.下载安装mysql
官网下载mysql安装包
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
解压安装包
tar xzvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
将文件移动到/usr/local 下并重命名
mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql
在/usr/local/mysql目录下创建data目录
mkdir /usr/local/mysql/data
更改mysql目录下所有的目录及文件夹所属的用户组和用户,以及权限
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql
编译安装并初始化mysql,【务必记住初始化输出日志末尾的密码】(数据库管理员临时密码)
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
编辑配置文件my.cnf,覆盖配置如下
[mysqld]
#skip-grant-tables
sql_mode=NO_ENGINE_SUBSTITUTION
max_connections=4000
default-storage-engine=INNODB
character_set_server=utf8
lower_case_table_names = 1
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/usr/local/mysql/data/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid
innodb_buffer_pool_size=4G
innodb_log_file_size=256M
innodb_flush_method=O_DIRECT
#########end innodb#######################
max_allowed_packet=1024M
###skip-grant-tables###
wait_timeout=31536000
测试启动mysql服务器
/usr/local/mysql/support-files/mysql.server start
出现Starting MySql [ ok ]说明可正常启动
登录mysql,修改密码
[root@localhost /]# mysql -u root -p
Enter password:
mysql>set password for root@localhost = password('yourpass');
注:如果密码无法登陆,可将my.cnf文件中的skip-grant-tables解开注释,跳过密码登陆
三.mysql用户操作
查看所有用户信息
select user, authentication_string, host from user;
创建用户 【user:用户名 | localhost:IP地址、%代表所有IP都可以访问 | 123123:密码】
create user 'user'@'localhost' identified by '123123';
刷新写入
flush privileges;
为某个用户指定IP
update user set host = '172.xx.xx.xxx' where user = 'admin';
修改用户'username'@'host'所能访问的数据库
GRANT all privileges ON databasename.tablename TO 'username'@'host';
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。