linux下安装mysql5.6.x,允许远程客户端访问

来源:互联网 发布:泰拳训练软件 编辑:程序博客网 时间:2024/05/13 10:14
  1. 在安装mysql数据库服务器前,确保你的linux系统是可以连接网络的,下面我们将通过源码方式来安装mysql首先通过putty登入进你的Linux系统,确保系统中已经安装的gcc c++ 等编译环境,因为mysql从5.5版本开始是使用cmake编译的,如果三个环境都没安装,可以使用下面的命令进行安装:yum -y install make gcc-c++ cmake bison-devel ncurses-devel

  2. 2

    查找系统里是否已经安装了mysql数据库的相关组件,使用命令:rpm -qa | grep mysql 进行查找,如果查找到,可以使用下面命令进行强制卸载:rpm -e --nodeps 包名

    如果你当时在安装Linux系统时,使用的默认的安装选项,这一步可以跳过;

  3. 3

    然后我们来下载mysql的源码安装包,使用下面的命令来下载wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.24.tar.gz下载的时间可能有点漫长,请耐心等待;

  4. 4

    下载完成后,使用命令: ll 可以查看当前目前下存在  mysql-5.6.24.tar.gz文件然后使用下面的命令解压压缩包:tar -zxvf mysql-5.6.14.tar.gz

  5.  

    然后使用命令: ll 可以查看当前目前下存在  mysql-5.6.24 目录使用命令:cd mysql-5.6.24  切换到 mysql-5.6.24  这个目录下;

  6.  

    上面的步骤完成后,下面我们来开始编译mysql文件了,首先配置编译的相关参数,执行如下命令:cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_DATADIR=/usr/local/mysql/data \-DSYSCONFDIR=/etc \-DWITH_MYISAM_STORAGE_ENGINE=1 \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_MEMORY_STORAGE_ENGINE=1 \-DWITH_READLINE=1 \-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \-DMYSQL_TCP_PORT=3306 \-DENABLED_LOCAL_INFILE=1 \-DWITH_PARTITION_STORAGE_ENGINE=1 \-DEXTRA_CHARSETS=all \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci

    接着使用 make && make install 来编译并安装mysql也可以分两步来执行:先运行 make ,完成后再运行  make install整个过程大概需要30分钟左右,请耐心等待,这段时间你可以做点别的事

     
     
     
  7.  

    安装完成后,我们还要建立mysql的配置,首先设置mysql的访问权限,使用命令查看是否已经存在mysql用户及用户组,查看用户列表命令:cat /etc/passwd 查看用户组列表命令:cat /etc/group

  8.  

    如果不存在,我们就要创建:添加用户组命令:groupadd mysql添加用户:useradd -g mysql mysql然后来修改之前安装的mysql所在目录的访问的用户及用户组输入命令:chown -R mysql:mysql /usr/local/mysql

  9.  

    然后是初始化mysql配置,切换到mysql安装目录:cd /usr/local/mysql执行初始化配置脚本,创建mysql自带的系统数据库:./scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

  10.  

    修改mysql配置文件,输入命令:vi my.cnf然后按键盘的"insert"键,然后通过键盘的方向键来移动光标到要修改的行,添加如下内容:               server-id=1 report-port=3306 port=3306 datadir=/usr/local/mysql/data socket=/var/lib/mysql/mysql.sock

    这一步很重要,需要更改该配置文件的所有者:chown -R mysql:mysql /usr/local/mysql/my.cnf否则下面启动mysql服务会报错;

     

  11.  

    添加mysql到开机启动项,并启动mysql服务( 注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会到你安装的mysql目录找,在本例中就是 /usr/local/mysql/my.cnf。注意:在CentOS 6.4版操作系统的最小安装完成后,在/etc目录下会可能会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。 重命名的命令是:mv my.cnf my.cnf.bak)cp support-files/mysql.server /etc/init.d/mysqld #复制脚本 chmod +x /etc/init.d/mysqld #增加可执行权限 chkconfig --add mysqld #增加至sysV服务 chkconfig mysqld on  #开机自启动service mysqld start #启动mysql服务netstat -aux|grep mysq #查看启动的mysql进程

  12.  

    添加mysql的环境变量,以方便以后的操作输入密码:vi /etc/profile在文件的底部添加如下内容:PATH=/usr/local/mysql/bin:$PATHexport PATH保存并退出,输入输入命令,使配置立即生效:source /etc/profile

  13.  

    安装好的mysql,默认root帐户帐户为空,下面我们来修改密码输入命令:mysql -uroot 回车后,然后输入命令:SET PASSWORD = PASSWORD('123456');

    设置完成后,输入命令:quit; 退出mysql环境;

  14.  

    设置好 mysql密码,需要输入如下命令才能够正确登录进mysql:输入命令:mysql -uroot -p 回车后,会提示你输入密码,输入正确并执行后,会看到以mysql>开始的提示行,在这里你可以输入任何有效的sql查询语句:比如输入:show databases;  来显示所有的数据库,注意后面的分号不能丢失,它标识一行命令的结束。至此,恭喜你,mysql安装成功了。

设置mysql服务允许外网访问,修改mysql的配置文件,有的是my.ini,有的是my.cnf【linux】.

1:设置mysql的配置文件
     /etc/mysql/my.cnf
     找到 bind-address  =127.0.0.1  将其注释掉;//作用是使得不再只允许本地访问;
 
  重启mysql:/etc/init.d/mysql restart;
 

2:登录mysql数据库:mysql -u root -p
  mysql> use mysql;
 
  查询host值:
mysql> select user,host from user;
 
如果没有"%"这个host值,就执行下面这两句:
mysql> update user set host='%' where user='root';
mysql> flush privileges;
或者也可以执行:
mysql>grand all privileges on  *.*  to root@'%'  identifies  by ' xxxx';
其中 第一个*表示数据库名;第二个*表示该数据库的表名;如果像上面那样 *.*的话表示所有到数据库下到所有表都允许访问;
‘%':表示允许访问到mysql的ip地址;当然你也可以配置为具体到ip名称;%表示所有ip均可以访问;
 后面到‘xxxx'为root 用户的password;
 

举例:

任意主机以用户root和密码mypwd连接到mysql服务器
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
mysql> flush privileges;

IP为192.168.1.102的主机以用户myuser和密码mypwd连接到mysql服务器
mysql> GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.102' IDENTIFIED BY 'mypwd' WITH GRANT OPTION; 
mysql> flush privileges;



0 0
原创粉丝点击