一、Ubuntu下MySQL的安装和登陆
在Ubuntu命令行下输入 sudo apt-get install mysql-server 即可安装mysql服务,默认在安装mysql-server时,会自动安装好mysql-client。
同时安装好的mysql配置文件位置:/etc/mysql/my.cnf
启动mysql的快捷图标为:/etc/init.d/mysql
登陆命令:mysql -u root -p
重启命令:mysql sudo /etc/init.d/mysql restart
二、编码问题的解决
查看当前MYSQL字符集[在mysql命令行模式下执行]:show variables like 'character%';
更改编码:sudo vim /etc/mysql/my.cnf
找到[client] 添加如下两句:
//默认字符集为utf8
default-character-set=utf8
找到[mysqld] 添加添加如下四句:(注意每一行的前后都不能有空格)
//默认字符集为utf8
default-character-set=utf8
//设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行
init_connect='SET NAMES utf8'
最后切换到vim的末行模式下执行wq退出vim编辑器.
停止数据库服务:sudo /etc/init.d/mysql stop
重新启动: s udo /etc/init.d/mysql start
进入数据库: mysql -uroot -p(你的密码)
查看编码: show variables like '% character %';
此时应该就全是 utf8编码了。
三、 MySQL服务 加入开机自启动
加入开机自启动: sudo update-rc.d mysql defaults
从开机自启动中移出: sudo update-rc.d -f mysql remove
四、远程连接ubuntu下MySQL(Ubuntu 8.0.4 远程连接)
vim /etc/mysql/my.cnf找到
bind-address = 127.0.0.1
这行,注释掉(如下)
#bind-address = 127.0.0.1
或者改为
bind-address = 0.0.0.0
允许任意IP访问,或者自己指定一个IP地址。
然后重启 MySQL
sudo /etc/init.d/mysql restart
授权用户能进行远程连接
grant all privileges on *.* to root@"%" identified by "password" with grant option;
flush privileges;
第一行命令解释如下:
*.* :第一个*代表数据库名;第二个*代表表名。这里的意思是所有数据库里的所有表都授权给用户。
root :授予root账号。
“%” :表示授权的用户IP可以指定,这里代表任意的IP地址都能访问MySQL数据库。
“password”:分配账号对应的密码,这里密码自己替换成你的mysql root帐号密码。
第二行命令是刷新权限信息,也即是让我们所作的设置马上生效。
此时再远程连接ubuntu下的MySQL应该能够连接上了。
五 介绍mysql的几个常用命令
一、库操作
1、、创建数据库
命令:create database <数据库名>
例如:建立一个名为test的数据库
mysql> create database test;
2、显示所有的数据库
命令:show databases
mysql> show databases;
3、删除数据库
命令:drop database <数据库名>
例如:删除名为 test的数据库
mysql> drop database test;
4、连接数据库
命令: use <数据库名>
例如:如果test数据库存在,尝试存取它:
mysql> use test;
屏幕提示:Database changed
5、查看当前使用的数据库
mysql> select database();
6、当前数据库包含的表信息:
mysql> show tables;
如果要设置为任何客户端都可以以root连接的话,可以这么写:
grant all on *.* to identifiied by 'root的密码'
格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"
类似这用方法的整理如下:
1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -pvmwaremysql>use mysql;mysql>update user set host = '%' where user = 'root';mysql>select host, user from user;2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;但问题仍没有解决:
找到 命令 mysql> flush privileges //使修改生效
显示影响了零行。
问题依然没有解决,重新启动mysql sudo /etc/init.d/mysql restart