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