ubuntu 安装配置 mysql

安装MySQL

sudo apt-get install mysql-server

安装过程中MySQL要求设定账户有密码,这是与操作系统没关系的账户与密码。

service mysqld start

 

设置Mysql中root用户的密码

默认的MySQL安装之后根用户没有密码:

mysql -u root

一般来说,对mysql中的数据库进行操作,最好不要用根用户,只有在设置时才有这种可能。

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '123456';

 

用root用户建立需要的数据库。以test为例:

mysql> CREATE DATABASE test;

mysql> GRANT ALL PRIVILEGES ON test.* TO test_root@localhost IDENTIFIED BY "test_passed";

这样就建立了一个test_roots用户,它对数据库test有着全部权限。以后就可以用test_root来对test数据库进行管理,而无需要root用户了,而该用户的权限也被限定在test数据库中。

 

在Ubuntu下MySQL缺省是只允许本地访问的,如果需要其他主机也能够远程访问,需要添加权限并修改my.cnf配置文件

一、

mysql> GRANT ALL PRIVILEGES ON test.* TO test_root@'%' IDENTIFIED BY 'test_passwd';

允许test_root用户可以从任意主机登入该mysql Server,允许访问的数据库为test。如果没有该用户,添加改用户。

如果将"test.*"换为"*.*",即为全部的数据库;如果将'%'换为相应主机名,只有该主机可以访问。

如新增一个有全部权限的test:test用户:

mysql> GRANT ALL PRIVILEGES ON *.* TO test@'%' IDENTIFIED BY 'test';

还需要执行:

mysql> GRANT ALL PRIVILEGES ON *.* TO test@'localhost' IDENTIFIED BY 'test';

否则本地mysql -utest -ptest 连不上。。

 

二、

1、编辑my.cnf,默认为/etc/mysql/my.cnf。

老版本中注释掉skip-networking,新版本中注释掉bind-address = 127.0.0.1或者修改为0.0.0.0(或本机IP)。

# 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

2、重启mysql

sudo /etc/init.d/mysql restart 

 

参考:

http://wiki.ubuntu.org.cn/MySQL%E5%AE%89%E8%A3%85%E6%8C%87%E5%8D%97

posted @ 2012-09-03 10:38  congbo  阅读(462)  评论(0编辑  收藏  举报