CentOS 7安装mysql5.7.17
在/usr/local/
下创建目录
[root@common local]# mkdir -p mysql/data
上传mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
在/home/
下
创建一个名为mysql的用户组
[root@common ~]#groupadd mysql
解压文件
[root@common home]#tar -xzvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
进入MySQL文件列表
[root@common home]#cd mysql-5.7.17-linux-glibc2.5-x86_64
移动到/usr/local/mysql/
下
[root@common mysql-5.7.17-linux-glibc2.5-x86_64]# mv * /usr/local/mysql/
编译安装
[root@common mysql-5.7.17-linux-glibc2.5-x86_64]# cd /usr/local/mysql/
[root@common mysql]# ./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
记录密码
root@localhost后面就是密码,记录,等下回用到
配置mysql,进入mysql的安装目录支持文件目录
[root@common mysql]# cd /usr/local/mysql/support-files
拷贝配置文件模板为新的mysql配置文件
[root@common support-files]# cp my-default.cnf /etc/my.cnf
编辑刚刚copy的配置文件
[root@common support-files]# vim /etc/my.cnf
配置文件添加如下内容
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
character_set_server=utf8
init_connect='SET NAMES utf8'
max_allowed_packet=20M
max_connections=1000
wait_timeout = 600
interactive_timeout = 600
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
[client]
default-character-set=utf8
注释掉
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
启动mysql
服务 在/usr/local/mysql
启动,出现SUCCESS!
表示安装成功
[root@common support-files]# cd /usr/local/mysql
[root@common mysql]# ./support-files/mysql.server start
配置mysql服务开机自动启动,拷贝启动文件到/etc/init.d/
下并重命令为mysqld
[root@common mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
增加执行权限
[root@common mysql]# chmod 755 /etc/init.d/mysqld
检查自启动项列表中没有mysqld
[root@common mysql]# chkconfig --list mysqld
如果没有就添加mysqld 正常情况下没有
[root@common mysql]# chkconfig --add mysqld
设置开机启动
[root@common mysql]# chkconfig mysqld on
重新启动MySQL服务
[root@common mysql]# /etc/init.d/mysqld restart
修改Mysql密码,创建一个软链接
[root@common mysql]# ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
[root@common mysql]# mysql -u root -p
copy刚刚编译生成的密码
修改登录MySQL密码,PASSWORD()里面的123456是设置的新密码,可以设置成你想要的密码
mysql> SET PASSWORD = PASSWORD('123456');
Mysql远程授权all privileges全部权限的账号
mysql> grant all privileges on *.* to 'root'@'%' identified by '123456';
创建crud账号
mysql> grant select,insert,update,delete on *.* to 'user'@'%' identified by '123456';
mysql> flush privileges;
退出
mysql> quit;
到此MySQL就以安装完成!
Mysql 一些主要命令
登录
[root@common ~]# mysql -u root -p
显示全部的数据库
mysql>show databases;
使用某一个数据库
mysql> use databasename;
显示一个数据库的全部表
mysql> show tables;
退出
mysql> quit;
删除数据库和数据表
mysql> drop database 数据库名;
mysql> drop table 数据表名;
Mysql服务的启动/重启/停止
/etc/init.d/mysqld start 启动服务
/etc/init.d/mysqld restart 重启服务
/etc/init.d/mysqld stop 停止服务
查看查询次数
mysql> SHOW STATUS LIKE 'com_select';
查看连接数(登录次数)
mysql> SHOW STATUS LIKE 'connections';
数据库运行时间
mysql> SHOW STATUS LIKE 'uptime';
查看慢查询次数
mysql> SHOW STATUS LIKE 'slow_queries';
查看索引使用的情况
mysql> SHOW STATUS LIKE 'handler_read%';
handler_read_key: 这个值越高越好,越高表示使用索引查询到的次数。
handler_read_rnd_next: 这个值越高,说明查询低效。
全局锁
mysql> FLUSH TABLES WITH READ LOCK;
表锁
mysql> lock tables 表名 read;
解锁
mysql> unlock tables;