zoukankan      html  css  js  c++  java
  • mysql配置命令 CHARACTER_SET_%字符集设置

    参照:
    
    http://blog.csdn.net/mzlqh/article/details/7621307点击打开链接
    
    
    其实现在的ubuntu12.04 直接sudo apt-get install MySQL 就可以了,mysql-client会自动地为你装上
    
    #查看mysql是否正在运行
    
    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插入中文字符时出现乱码
    
    
    
    
    [sql] view plain copy print?
    01.比如你可以在建库时设置默认编码为utf8:  
    02.create database mydb default character set utf8 collate utf8_general_ci;  
    
    
    
    
    
    
    
    [sql] view plain copy print?
    01.问题解决了,原因是在my.cnf中缺少了如下代码:  
    02.[client]  
    03.default-character-set=utf8  
    04.[mysqld]  
    05.default-character-set=utf8  
    06.  
    07.  
    08.如果不加以上代码,那么即便MYSQL编译安装时指定的编码是UTF8,那么在建库时其默认编码仍是LATIN1,而由于字符集的继承性,库中的表也是LATIN1的了。  
    09.  
    10.  
    11.这里列几条命令,大家可以自己试下:  
    12.1.列出MYSQL支持的所有字符集:  
    13.SHOW CHARACTER SET;  
    14.  
    15.2.当前MYSQL服务器字符集设置  
    16.SHOW VARIABLES LIKE 'character_set_%';  
    17.  
    18.3.当前MYSQL服务器字符集校验设置  
    19.SHOW VARIABLES LIKE 'collation_%';  
    20.  
    21.4.显示某数据库字符集设置  
    22.show create database 数据库名;  
    23.  
    24.5.显示某数据表字符集设置  
    25.show create table 表名;  
    26.  
    27.6.修改数据库字符集  
    28.alter database 数据库名 default character set 'utf8';  
    29.  
    30.7.修改数据表字符集  
    31.alter table 表名 default character set 'utf8';  
    32.  
    33.8.建库时指定字符集  
    34.create database 数据库名 character set gbk collate gbk_chinese_ci;  
    35.  
    36.9.建表时指定字符集  
    37.CREATE TABLE `mysqlcode` (  
    38.`id` TINYINT( 255 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,  
    39.`content` VARCHAR( 255 ) NOT NULL  
    40.) TYPE = MYISAM CHARACTER SET gbk COLLATE gbk_chinese_ci;  
    
    
    
    
     ubuntu12.04 mysql配置文件路径是/etc/mysql/my.cof 
    
    
    
    
    [sql] view plain copy print?
    01.(2)用命令show variables like 'character\_set\_%';查看当前字符集设定:  
    
    
    
    
    
    
    [sql] view plain copy print?
    01.修改mysql字符编码出现Job failed to start解决办法  
    02.   
    03.在python mange.py shell下填充MySQL数据库的时候,发现汉字不能输入。  
    04.于是要修改一下MySQL数据库编码。  
    05.   
    06.从网上找到如下资料:  
    07.$sudo gedit /etc/mysql/my.cnf  
    08.[client]下添加:  
    09.   
    10.default-character-set=utf8  
    11.   
    12.[mysqld]下添加:  
    13.   
    14.default-character-set=utf8  
    15.   
    16.        然后保存退出  
    17.   
    18.$sudo service mysql restart  
    19.   
    20.        结果出现了Job failed to start  
    21.  www.2cto.com    
    22.----------------------------------------------------------------------------------------------------------------------------  
    23.可能是版本的问题,查5.5以后的版本对字符编码方式修改的办法,发现[mysqld]修改方法变了:  
    24.   
    25.[mysqld]下添加的应该为:  
    26.   
    27.character-set-server=utf8  
    28.   
    29.collation-server=utf8_general_ci  
    30.   
    31.保存退出  
    32.   
    33.$sudo service mysql restart  
    34.   
    35.成功  
    36.   
    37.进入MySQL控制台:  
    38.   
    39.    show variables like 'character%';  
    40.  www.2cto.com    
    41.+-----------------------------------+-----------------------------------+  
    42.| Variable_name                    | Value                                    |  
    43.   
    44.+-----------------------------------+-----------------------------------+  
    45.   
    46.| character_set_client           | utf8                                         |  
    47.   
    48.| character_set_connection | utf8                                         |  
    49.   
    50.| character_set_database    | utf8                                         |  
    51.   
    52.| character_set_filesystem   | binary                                    |  
    53.   
    54.| character_set_results         | utf8                                         |  
    55.  www.2cto.com    
    56.| character_set_server          | utf8                                         |  
    57.   
    58.| character_set_system         | utf8                                         |  
    59.   
    60.| character_sets_dir               | /usr/share/mysql/charsets/ |  
    61.   
    62.+------------------------------------+-----------------------------------+  
    63.   
    64.8 rows in set (0.00 sec)  
    65.   
    66.已经修改成功,做下记录。  
    67.   
    68.   
    
    
    
    
     最后是这样做的: 
    
    
    
    
    [sql] view plain copy print?
    01. $sudo gedit /etc/ mysql/my.cnf  
    02.[client]下添加:  
    03.   
    04.default-character-set=utf8  
    05.[mysqld]下添加的应该为:  
    06.   
    07.character-set-server=utf8  
    08.   
    09.collation-server=utf8_general_ci  
    10.   
    11.保存退出  
    12.   
    13.$sudo service mysql restart  
    14.   
    15.成功  
    
    
    
    但是中文乱码的解决道路还没有结束 
    
    
    
    
    [sql] view plain copy print?
    01.character_set_server 服务器的默认字符集。  
    02.character_set_database 默认数据库使用的字符集。当默认数据库更改时,服务器则设置该变量。如果没有默认数据库,变量的值同character_set_server。  
    03.show variables like 'character%';  
    04.你用set @@character_set_database=utf8  
    05.show variables like 'character%';  
    06.在看下character_set_server的值  
    
    
    
    
    
    成功了!
  • 相关阅读:
    POJ 2352 && HDU 1541 Stars (树状数组)
    SSH三大框架的工作原理及流程
    稀疏表示
    Linux程序设计学习笔记----多线程编程线程同步机制之相互排斥量(锁)与读写锁
    [面经] 南京SAP面试(上)
    JAVA数组的定义及用法
    花指令
    计算机认证考试种类
    《C语言编写 学生成绩管理系统》
    spice for openstack
  • 原文地址:https://www.cnblogs.com/musings/p/5930800.html
Copyright © 2011-2022 走看看