centos安装mysql到指定目录_centOS安装Mysql指南

centOS安装Mysql指南

说明:使用操作系统centOS6.4 32位系统;mysql:mysql-5.7.10-linux-glibc2.5-i686.tar.gz;

一、准备

下载mysql

wget http://mirrors.sohu.com/mysql/mysql:mysql-5.7.10-linux-glibc2.5-i686.tar.gz

注:所有shell命令都以root用户执行。随着mysql版本的更新,新版本的安装方式会有所更改,可以参考mysql压缩包中的INSTALL-BINARY文件。

此处我下载的是MySQL-5.7下的mysql-5.7.10-linux-glibc2.5-x86_64.tar.gz

二、解压缩文件并移动到指定目录

在home文件夹下创建一个mysql文件夹,作为存放mysql文件的目录

[root@localhost ~]# cd /home

[root@localhost ~]# mkdir mysql

回到保存下载压缩文件的目录解压压缩文件

[root@localhost ~]# cd /home/user/Downloads

[root@localhost ~]# tar -zxvf mysql-5.7.10-linux-glibc2.5-x86_64.tar.gz

移动文件到指定目录

[root@localhost ~]# mv mysql-5.7.10-linux-glibc2.5-x86_64  /home/mysql/mysql-5.7.10

三、安装运行mysql所需的包

[root@localhost ~]# yum search libaio

[root@localhost ~]# yum install libaio

四、安装及配置mysql

参照mysql文件中的INSTALL-BINARY;

[root@localhost ~]# groupadd mysql #添加一个mysql用户组

[root@localhost ~]# useradd -r -g mysql -s /bin/false mysql #设置-s /bin/false表示mysql不能作为登入用户

[root@localhost ~]# cd /usr/local [root@localhost ~]# ln -s /home/mysql/mysql-5.7.10 mysql#在/usr/local/目录下创建一个mysql链接

[root@localhost ~]# cd mysql [root@localhost ~]# mkdir data #作为存放数据的目录

[root@localhost ~]# chmod 770 data #修改data目录的进入权限

[root@localhost ~]# chown -R mysql:mysql . #修改当前文件夹的用户权限和组权限

[root@localhost ~]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data  # MySQL 5.7.10初始化设置

执行该命令后,注意最后一行的[Note]信息

[Note] A temporary password is generated for root@localhost: )9AsdF(+86h49 生成的初始密码在首次以root用户登入时使用;

[root@localhost ~]# bin/mysql_ssl_rsa_setup --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data   # MySQL 5.7.10安全连接设置

[root@localhost ~]# chown -R root .

[root@localhost ~]# chown -R mysql data

[root@localhost ~]# cd /var/log

[root@localhost ~]# mkdir mysql  #作为存放数据库运行日志的文件夹

[root@localhost ~]# cd /usr/local/mysql/

[root@localhost ~]# bin/mysqld_safe --user=mysql --basedir=/usr/local/mysql--datadir=/usr/local/mysql/data & #此命令在后台运行

将mysql加入到可控制启动服务的文件夹内,并命名mysql,即service可控制的服务名,届时可用service mysql start|stop控制启动及关闭mysql

[root@localhost ~]# cp support-files/mysql.server /etc/init.d/mysql

至此可用service mysql start来启动mysql数据库。

配置开机启动mysql服务

[root@localhost ~]# chkconfig --add mysql

[root@localhost ~]# chkconfig --level 2345 mysql on

五、首次登入mysql

[root@localhost ~]# mysql -u root -p

Enter password:输入之前生成的临时密码 mysql> SET PASSWORD = PASSWORD('123456');  #注意最后的分号;

六、其他配置

a) 开启防火墙mysql 3306端口的外部访问 CentOS升级到7之后,使用firewalld代替了原来的iptables。

下面记录如何使用firewalld开放Linux端口

--zone      : 作用域,网络区域定义了网络连接的可信等级。这是一个一对多的关系,这意味着一次连接可以仅仅是一个区域的一部分,而一个区域可以用于很多连接

--add-port  : 添加端口与通信协议,格式为:端口/通讯协议,协议是tcp 或 udp

--permanent : 永久生效,没有此参数系统重启后端口访问失效

[root@localhost ~]#  firewall-cmd --zone=public --add-port=3306/tcp --permanent

[root@localhost ~]#  firewall-cmd --reload  #重启防火墙

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.tablename TO 'user1'@'192.168.155.1' IDENTIFIED BY '123456';

mysql>GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON dbname.tablename 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、http://www.cnblogs.com/dreamhome/p/4716425.html;

我也是初学mysql,才疏学浅,肯定有说得不好的地方,希望大家多多指点,我会及时改正,但请千万不要恶语相加啊!谢谢。

如果喜欢本文,请在后面留个言哈。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、安装MySQL 1、安装cmake cd /usr/local/src tar zxvf cmake-2.8.11.2.tar.gz cd cmake-2.8.11.2 ./configure make make install 2、安装MySQL groupadd mysql #添加mysql组 useradd -g mysql mysql -s /bin/false #创建用户mysql并加入到mysql组,不允许mysql用户直接登录系统 mkdir -p /data/mysql #创建MySQL数据库存放目录 chown -R mysql:mysql /data/mysql #设置MySQL数据库存放目录权限 mkdir -p /usr/local/mysql #创建MySQL安装目录 cd /usr/local/src #进入软件包存放目录 tar zxvf mysql-5.6.19.tar.gz #解压 cd mysql-5.6.19 #进入目录 cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc #配置 make #编译 make install #安装 rm -rf /etc/my.cnf #删除系统默认的配置文件(如果默认没有就不用删除) cd /usr/local/mysql #进入MySQL安装目录 ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql #生成mysql系统数据库 ln -s /usr/local/mysql/my.cnf /etc/my.cnf #添加到/etc目录的软连接 cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld #把Mysql加入系统启动 chmod 755 /etc/init.d/mysqld #增加执行权限 chkconfig mysqld on #加入开机启动 vi /etc/rc.d/init.d/mysqld #编辑 basedir=/usr/local/mysql #MySQL程序安装路径 datadir=/data/mysql #MySQl数据库存放目录 :wq! #保存退出 service mysqld start #启动 vi /etc/profile #把mysql服务加入系统环境变量:在最后添加下面这一行 export PATH=$PATH:/usr/local/mysql/bin :wq! #保存退出 source /etc/profile #使配置立刻生效 下面这两行把myslq的库文件链接到系统默认的位置,这样你在编译类似PHP等软件时可以不用指定mysql的库文件地址。 ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql ln -s /usr/local/mysql/include/mysql /usr/include/mysql mkdir /var/lib/mysql #创建目录 ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock #添加软链接 mysql_secure_installation #设置Mysql密码,根据提示按Y 回车输入2次密码

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值