一.安装方式
CentOS上安装MySql官方推荐使用rpm在线安装的方式进行安装。但是使用在线安装的方式无法修改安装的路径。
我以解压版的方式进行安装。
安装步骤
-
将mysql安装包mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz 放到/usr/local下,因为这个目录也是解压版的默认目录。可以减少很多配置
1.1 进入/usr/local:cd /usr/local
1.2 解压压缩包:tar zxvf mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz
1.3 复制到/usr/local/mysql:cp -r mysql-5.7.16-linux-glibc2.5-x86_64 /usr/local/mysql
1.4 进入mysql文件夹:cd /usr/local/mysql -
创建用户组和用户
Root用户是最高权限用户,所以一般都是创建用户和用户组,放置最高权限用户进行操作。
2.1 添加用户组,命名为mysql:groupadd mysql
2.2 创建用户mysql,并指定所属群组为mysql:useradd -r -g mysql mysql -
赋权,让用户组和用户具有操作权限
注意:下面命令中有. 表示本级目录。一定要保证当前所在文件夹是/usr/local/mysql中
3.1 变更mysql用户组有操作当前文件夹的权限:chgrp -R mysql .
3.2 变更mysql用户具有操作本级目录的权限:chown –R mysql .
上面两个命令也可以换成下面一条命令:chown -R mysql:mysql ./ -
初始化
以下命令需要保证在/usr/local/mysql下
4.1 判断/etc/my.cnf是否存在,如果存在删除:ls /etc/my.cnf
4.2 如果存在执行下面命令,如果不存在,跳过此步骤: rm /etc/my.cnf
4.3 初始化数据库:(mysql5.6命令为:./scripts/mysql_install_db --user=mysql)
进入到mysql目录,可以发现,mysql5.7的版本和5.6的版本不同,没有/data目录,这里要自己创建一个data目录,data目录并不限定存放位置,但是为了方便,这里依旧直接放在mysql的根目录下,命令:mkdir data
初始化数据库命令:./bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ -
修改配置文件
配置my.cnf和启动文件,根据自己的需要进行修改。如果不需要特殊操作,可以直接复制.
以下命令依然需要保证目前在mysql文件夹下
5.1 复制my.cnf文件:cp support-files/my-default.cnf /etc/my.cnf
5.2 复制启动文件:cp support-files/mysql.server /etc/rc.d/init.d/mysql -
启动、重启、关闭mysql服务
启动mysql服务:service mysql start
关闭服务:service mysql stop
重启服务:service mysql restart
(Mysql必须在启动状态下,才可以修改密码) -
查看初始密码:cat /root/.mysql_secret
-
操作mysql数据库
命令:mysql –u root –p (会提示要求输入密码)
如果提示没有mysql命令,需要添加软连接
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
进入到mysql命令后,出现[mysql>],根据自己的需要创建数据库,创建表等CRUD操作 -
修改密码:SET PASSWORD FOR ‘root’@localhost=PASSWORD(‘123456’);
-
连接MySql的时候报1130的错误解决办法。
ERROR 1130: Host 192.168.3.100 is not allowed to connect to this MySQL server
不能进行远程的访问,需要修改允许远程连接。
mysql -u root -p
mysql>use mysql;
mysql>select ‘host’ from user where user=‘root’;
mysql>update user set host = ‘%’ where user =‘root’ limit 1;
mysql>flush privileges;
mysql>select ‘host’ from user where user=‘root’;