参照:
http://blog.csdn.net/mzlqh/article/details/7621307点击打开链接
其实现在的ubuntu12.04 直接sudo apt-get install mysql 就可以了,mysql-client会自动地为你装上
sudo
netstat
-tap |
grep
mysql
如果是正在运行,则
tcp 0 0 localhost.localdomain:mysql *:* LISTEN -
重启mysql
sudo
/etc/init.d/mysql restart
配置 MySQL 的管理员密码:
1 | sudo mysqladmin -u root password newpassword |
三、 MySQL服务 加入开机自启动
加入开机自启动: sudo update-rc.d mysql defaults
从开机自启动中移出: sudo update-rc.d -f mysql remove
四、远程连接ubuntu下MySQL
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插入中文字符时出现乱码
比如你可以在建库时设置默认编码为utf8:
create database mydb default character set utf8 collate utf8_general_ci;
问题解决了,原因是在my.cnf中缺少了如下代码:
[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8
如果不加以上代码,那么即便MYSQL编译安装时指定的编码是UTF8,那么在建库时其默认编码仍是LATIN1,而由于字符集的继承性,库中的表也是LATIN1的了。
这里列几条命令,大家可以自己试下:
1.列出MYSQL支持的所有字符集:
SHOW CHARACTER SET;
2.当前MYSQL服务器字符集设置
SHOW VARIABLES LIKE 'character_set_%';
3.当前MYSQL服务器字符集校验设置
SHOW VARIABLES LIKE 'collation_%';
4.显示某数据库字符集设置
show create database 数据库名;
5.显示某数据表字符集设置
show create table 表名;
6.修改数据库字符集
alter database 数据库名 default character set 'utf8';
7.修改数据表字符集
alter table 表名 default character set 'utf8';
8.建库时指定字符集
create database 数据库名 character set gbk collate gbk_chinese_ci;
9.建表时指定字符集
CREATE TABLE `mysqlcode` (
`id` TINYINT( 255 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`content` VARCHAR( 255 ) NOT NULL
) TYPE = MYISAM CHARACTER SET gbk COLLATE gbk_chinese_ci;
ubuntu12.04 mysql配置文件路径是/etc/mysql/my.cof
(2)用命令show variables like 'character\_set\_%';查看当前字符集设定:
修改mysql字符编码出现Job failed to start解决办法
在python mange.py shell下填充MySQL数据库的时候,发现汉字不能输入。
于是要修改一下MySQL数据库编码。
从网上找到如下资料:
$sudo gedit /etc/mysql/my.cnf
[client]下添加:
default-character-set=utf8
[mysqld]下添加:
default-character-set=utf8
然后保存退出
$sudo service mysql restart
结果出现了Job failed to start
www.2cto.com
----------------------------------------------------------------------------------------------------------------------------
可能是版本的问题,查5.5以后的版本对字符编码方式修改的办法,发现[mysqld]修改方法变了:
[mysqld]下添加的应该为:
character-set-server=utf8
collation-server=utf8_general_ci
保存退出
$sudo service mysql restart
成功
进入MySQL控制台:
show variables like 'character%';
www.2cto.com
+-----------------------------------+-----------------------------------+
| Variable_name | Value |
+-----------------------------------+-----------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
www.2cto.com
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+------------------------------------+-----------------------------------+
8 rows in set (0.00 sec)
已经修改成功,做下记录。
最后是这样做的:
$sudo gedit /etc/ mysql/my.cnf
[client]下添加:
default-character-set=utf8
[mysqld]下添加的应该为:
character-set-server=utf8
collation-server=utf8_general_ci
保存退出
$sudo service mysql restart
成功
但是中文乱码的解决道路还没有结束
character_set_server 服务器的默认字符集。
character_set_database 默认数据库使用的字符集。当默认数据库更改时,服务器则设置该变量。如果没有默认数据库,变量的值同character_set_server。
show variables like 'character%';
你用set @@character_set_database=utf8
show variables like 'character%';
在看下character_set_server的值
成功了!
mysql 执行文件中的命令
http://blog.csdn.net/vebasan/article/details/7619911