在linux安装mysql,并设置远程访问

1.查看系统有没有安装mysql.

  vpm -qa mysql

发现有删除:rpm -e mysql(rpm -e --nodeps mysql)

2.下载数据库 mysql-standard-5.0.27-linux-i686.tar.gz

进行解压 tar -zxvf mysql-standard-5.0.27-linux-i686.tar.gz

groupadd mysql

useradd -g mysql mysql

3.进入mysql目录,初始化数据库 scripts/mysql_install_db --user=mysql

4更改目录组,用户

chown -R root.

chgrp -R mysql.

chowm -R mysql data

4.启动mysql

bin/mysqldsafe --user=mysql&

设置每个用户直接登录mysql;

cd   /root/ 

vi .bash_profile

path=/home/mysql/bin/

进行访问数据库 

./mysqladmin -uroot password(设置密码)

mysql -u root -p123

()

现在新版的mysql一般默认都不允许远程连接的。需要建立远程连接账号才可以。
以命令行方式使用root账号进入mysql。
5.进入mysqluse `mysql`;
 
web与mysql数据库分离开来是一个不错的选择,避免因为大量的数据库查询占用CPU而使web资源不足,同时可以使web服务器的资源尽最大的提供浏览服务,而数据库服务器单独的只处理数据库事物。 
 
适用范围:拥有独立主机权限。
硬件配置:两台服务器,至于具体服务器硬件配置就不在本文范围内了。其中:A为web服务器(假设ip为:192.192.192.192)、B为mysql数据服务器(假设ip为:168.168.168.168)
 
着手动作:
1.在web服务器A配置好web服务。假设web服务器的IP为:192.192.192.192
 
2.在数据库服务器B安装好mysql服务。
 
3.现在新版的mysql一般默认都不允许远程连接的。需要建立远程连接账号才可以。
以命令行方式使用root账号进入mysql。
mysql -uroot -ppass
 
选择进入mysql数据库
use `mysql`;
 
查看所有存在的账号和地址。
SELECT `Host`,`User` FROM `user`;
 
 
也就是说,存在三个只允许本地连接的(localhost)账号,分别为 root、pma、空用户。
 
现在决定让root具有上面那个web服务器A的远程链接的权限,那么就这样。
 
UPDATE `user` SET `Host`='192.192.192.192' WHERE `User`='root' LIMIT 1;
 
这样192.192.192.192这台web服务器就可以远程连接到这个数据库服务器了。假如你想让任何远程机器都可以连接这个数据库,就将192.192.192.192换为%。不过不建议这样做!
 
假如你想新建一个用户new_user具备远程链接的权限的话,就这样
 
INSERT INTO `user` ( `Host` , `User` , `Password` , `Select_priv` , `Insert_priv` , `Update_priv` , `Delete_priv` , `Create_priv` , `Drop_priv` , `Reload_priv` , `Shutdown_priv` , `Process_priv` , `File_priv` , `Grant_priv` , `References_priv` , `Index_priv` , `Alter_priv` , `Show_db_priv` , `Super_priv` , `Create_tmp_table_priv` , `Lock_tables_priv` , `Execute_priv` , `Repl_slave_priv` , `Repl_client_priv` , `ssl_type` , `ssl_cipher` , `x509_issuer` , `x509_subject` , `max_questions` , `max_updates` , `max_connections` ) VALUES ('192.192.192.192', 'new_user', PASSWORD( 'new_user_password' ) , 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', '', '', '0', '0', '0');
 
将new_user改为你想要的名字就可以了,密码是:new_user_password,当然你可以随意设置。
最后要刷新MySQL的系统权限相关表
mysql> flush privileges;
出现还是不行的话

在window中看看能不能ping linux设置的ip

mysql> grant all on *.* to xcj@'%' identified by "xcj_passwd";
Query OK, 0 rows affected (0.04 sec)
 
#生效新加用户xcj权限
mysql> flush privileges;
Query OK, 0 rows affected (0.03 sec)

mysql> use mysql;
mysql> GRANT ALL ON *.* TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;
#这句话的意思 ,允许任何IP地址(上面的 % 就是这个意思)的电脑 用admin帐户 和密码(admin)来访问这个MySQL Server
#必须加类似这样的帐户,才可以远程登陆。 root帐户是无法远程登陆的,只可以本地登陆

可能需要service mysql restart

原文地址:https://www.cnblogs.com/bmate/p/3897069.html