1.安装MySQL
$sudo apt-get install mysql-server
$sudo apt-get install mysql-client
$sudo apt-get install libmysqlclient-dev
这个应该很简单了,而且我觉得大家在安装方面也没什么太大问题,所以也就不多说了,下面我们来讲讲配置。
2.配置MySQL
注意,在Ubuntu下MySQL缺省是只允许本地访问的,如果你要其他机器也能够访问的话,则需要另外进行配置!
本地登录:
$mysql -u root -p
修改登录用户密码:
GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY "123456";
新建xoops_roots用户,并拥有全部权限:
CREATE DATABASE xoops;
GRANT ALL PRIVILEGES ON xoops.* TO xoops_root@localhost IDENTIFIED BY "654321";
这样就建立了一个xoops_roots的用户,它对数据库xoops有着全部权限。以后就用xoops_root来对xoops数据库进行管理,而无需要再用root用户了,而该用户的权限也只被限定在xoops数据库中。
疑问:没有配置/etc/mysql/my.cnf,只配置了/etc/mysql/mysql.conf.d/mysqld.cnf
如果你想进行远程访问或控制,那么你要做两件事:
其一:
GRANT ALL PRIVILEGES ON xoops.* TO xoops_root@"%" IDENTIFIED BY "654321";
允许xoops_root用户可以从任意机器上登入MySQL。
其二:
$sudo gedit /etc/mysql/my.cnf
老的版本中
>skip-networking => # skip-networking
新的版本中
>bind-address=127.0.0.1 => bind-address= 你机器的IP
这样就可以允许其他机器访问MySQL了。
MySQL允许远程访问的设置
1.注释bind-address = 127.0.0.1。
代码如下:
$sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
或者
$sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf
将bind-address = 127.0.0.1注释掉(即在行首加#),如下:
代码如下:
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
# bind-address = 127.0.0.1
除了注视掉这句话之外,还可以把后面的IP地址修改成允许连接的IP地址。但是,如果只是开发用的数据库,为了方便起见,还是推荐直接注释掉。
从上面的注释中,可以看出,旧版本的MySQL(从一些资料上显示是5.0及其以前的版本)上使用的是skip-networking。所以,善意提醒一下,使用旧版本的小伙伴请注意一下。
2.删除匿名用户
登录进数据库:
代码如下:
mysql -uroot -p123456
然后,切换到数据库mysql。SQL如下:
代码如下:
use mysql;
然后,删除匿名用户。SQL如下:
代码如下:
delete from user where user='';
3.增加允许远程访问的用户或者允许现有用户的远程访问。
接着上面,删除匿名用户后,给root授予在任意主机(%)访问任意数据库的所有权限。SQL语句如下:
代码如下:
grant all privileges on *.* to root@"%" identified by "pwd" with grant option;
flush privileges;
如果需要指定访问主机,可以把%替换为主机的IP或者主机名。另外,这种方法会在数据库mysql的表user中,增加一条记录。如果不想增加记录,只是想把某个已存在的用户(例如root)修改成允许远程主机访问,则可以使用如下SQL来完成:
代码如下:
update user set host='%' where user='root' and host='localhost';
4.退出数据库
代码如下:
exit
在MySQL Shell执行完SQL后,需要退出到Bash执行系统命令,需要执行exit。因为这个太常用也太简单。以下内容就提示“退出”,不再重复列出这个命令。
5.重启数据库
完成上述所有步骤后,需要重启一下数据库,才能让修改的配置生效。执行如下命令重启数据库:
代码如下:
sudo service mysql restart
或者
sudo systemctl restart mysql.service
查看MySQL服务状态:
systemctl status mysql.service
MySQL数据修改数据存储路径
$sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
或者
$sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf
参考:http://wiki.ubuntu.org.cn/MySQL%E5%AE%89%E8%A3%85%E6%8C%87%E5%8D%97