CentOS7 安装mysql-5.7.10(glibc版)
注:所有shell命令都以root用户执行。随着mysql版本的更新,新版本的安装方式会有所更改,可以参考mysql压缩包中的INSTALL-BINARY文件。
1、从网上下载所需的版本
mysql下载之后是个文件夹shell> cd /home/user/Downloads
shell> wget mirrors.sohu/mysql/所需版本
此处我下载的是MySQL-5.7下的mysql-5.7.10-linux-glibc2.5-x86_
2、解压缩文件并移动到指定目录
在home文件夹下创建一个mysql文件夹,作为存放mysql文件的目录
shell> cd /home
shell> mkdir mysql
回到保存下载压缩文件的目录解压压缩文件
shell> cd /home/user/Downloads
shell> tar -zxvf mysql-5.7.10-linux-glibc2.5-x86_
移动文件到指定目录
shell> mv mysql-5.7.10-linux-glibc2.5-x86_64 /home/mysql/mysql-5.7.10
3、安装运行mysql所需的包
shell> yum search libaio
shell> yum install libaio
4、安装及配置mysql(参照mysql文件中的INSTALL-BINARY)
shell> groupadd mysql #添加一个mysql用户组
shell> useradd -r -g mysql -s /bin/false mysql #设置-s /bin/false表示mysql不能作为登入用户
shell> cd /usr/local
shell> ln -s /home/mysql/mysql-5.7.10 mysql #在/usr/local/目录下创建一个mysql链接
shell> cd mysql
shell> mkdir data #作为存放数据的目录
shell> chmod 770 data
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data # MySQL 5.7.6 and up
执行该命令后,注意最后一行的[Note]信息
[Note] A temporary password is generated for root@localhost: )#Fzu)-oj6f8
生成的初始密码在首次以root用户登入时使用。
shell> bin/mysql_ssl_rsa_setup --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data # MySQL 5.7.6 and up
shell> chown -R root .
shell> chown -R mysql data
shell> cd /var/log
shell> mkdir mariadb #作为存放数据库运行日志的文件夹
shell> cd /usr/local/mysql/
shell> bin/mysqld_safe --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/
data &
将mysql加入到可控制启动服务的文件夹内,并命名mysql,即service可控制的服务名,届时可用service mysql start|stop控制启动及关闭mysql
shell> cp support-files/mysql.server /etc/init.d/mysql
到/etc目录下配置myf
shell> cd /etc/
shell> vi myf #修改或添加以下内容
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
shell> vi /etc/profile #配置环境变量 添加如下内容
export MYSQL_HOME="/usr/local/mysql"
export PATH="$PATH:$MYSQL_HOME/bin"
shell> . /etc/profile #使配置及时生效
至此可用service mysql start来启动mysql数据库。
配置开机启动mysql服务
shell> chkconfig --add mysql
shell> chkconfig --level 2345 mysql on
5、首次登入mysql
shell> mysql -u root -p
Enter password:输入之前生成的临时密码
mysql> SET PASSWORD = PASSWORD('123456');
6、其他配置
a) 开启防火墙mysql 3306端口的外部访问
CentOS升级到7之后,使用firewalld代替了原来的iptables。下面记录如何使用firewalld开放Linux端口
--zone : 作用域,网络区域定义了网络连接的可信等级。这是一个一对多的关系,这意味着一次连接可以仅仅是一个区域的一部分,而一个区域可以用于很多连接
--add-port : 添加端口与通信协议,格式为:端口/通讯协议,协议是tcp 或 udp
--permanent : 永久生效,没有此参数系统重启后端口访问失效
shell> firewall-cmd --zone=public --add-port=3306/tcp --permanent
shell> firewall-cmd --reload #重启防火墙
附1:开启3306端口的另外一种方式
附2:firewall防火墙默认的几个zone
b) 几个mysql的GRANT例子 (mysql的用户,非Centos用户)
允许使用用户名root密码123456从任何主机连接到mysql服务器
该创建的root账号只是从外部访问的账号,与内部linux访问该mysql时所用root不同,内部linux访问该mysql的root账号也不是linux的系统root账号
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
给来自192.168.155.1的用户user1分配可对数据库dbname的tablename表进行SELECT,INSERT,UPDATE,DELETE,CREATE,DROP等操作的权限,并设定密码为123456。
对表操作权限还有好多如ALTER等
mysql>GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON dbname.tablena
me TO 'user1'@'192.168.155.1' IDENTIFIED BY '123456';
给来自192.168.155.1的用户user2分配可对数据库dbname所有表进行所有操作的权限,并设定口令为123456。
mysql>GRANT ALL PRIVILEGES ON dbname.* TO 'user2'@'192.168.155.1' IDENTIFIED BY '123456';
给来自192.168.155.1的用户user3分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123456。
mysql>GRANT ALL PRIVILEGES ON *.* TO 'user3'@'192.168.155.1' IDENTIFIED BY '123456';
给本机用户user4分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123456。
mysql>GRANT ALL PRIVILEGES ON *.* TO 'user4'@'localhost' IDENTIFIED BY '123456';
刷新权限
mysql>FLUSH PRIVILEGES;
c)
参考:
1、mysql安装文件中的INSTALL-BINARY文件
2、CentOS7安装mysql5.6.26 作者昵称:风吹屁股凉冰冰
wwwblogs/dreamhome/p/4716425.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论