`

ubuntu下MySQL一些配置

 
阅读更多

一、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字符集[在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

          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应该能够连接上了

 

来自:http://blog.chinaunix.net/uid-22954746-id-2418833.html

 

 

#
# The MySQL database server configuration file.
#
[client]
port        = 3306
socket        = /var/run/mysqld/mysqld.sock
default-character-set   = utf8

# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
socket        = /var/run/mysqld/mysqld.sock
nice        = 0

[mysqld]
#My Features
default-character-set   = utf8
skip-name-resolve
default-storage-engine = InnoDB
default-table-type = InnoDB
innodb_flush_log_at_trx_commit=0
federated

#Master
server-id = 1
log-bin=mysql-bin
binlog-do-db=s3
binlog-ignore-db=mysql
sync_binlog=1
auto_increment_increment=2
auto_increment_offset=1

#Slave
skip-name-resolve
slave-skip-errors 
log-slave-updates
master-user=sync
master-password=123456
master-port=3306
master-connect-retry=30
replicate-do-db=s3
relay-log=S3-DB-M-1-relay-bin
#
# * Basic Settings
#

user        = mysql
socket        = /var/run/mysqld/mysqld.sock
port        = 3306
basedir        = /usr
datadir        = /var/lib/mysql
tmpdir        = /tmp
skip-external-locking
#
# 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
#
# * Fine Tuning
#
key_buffer        = 16M
max_allowed_packet  = 512M
max_heap_table_size = 800M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
thread_stack        = 192K
thread_cache_size       = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover         = BACKUP
#max_connections        = 100
#table_cache            = 64
#thread_concurrency     = 10
#
# * Query Cache Configuration
#
query_cache_limit    = 1M
query_cache_size        = 16M
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file        = /var/log/mysql/mysql.log
#general_log             = 1

log_error                = /var/log/mysql/error.log

# Here you can see queries with especially long duration
#log_slow_queries    = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
#       other settings you may need to change.
#server-id        = 1
#log_bin            = /var/log/mysql/mysql-bin.log
expire_logs_days    = 10
max_binlog_size         = 100M
#binlog_do_db        = include_database_name
#binlog_ignore_db    = include_database_name

[mysqldump]
quick
quote-names
max_allowed_packet    = 24M

[mysql]
#no-auto-rehash    # faster start of mysql but no tab completition

[isamchk]
key_buffer        = 16M

#
# * IMPORTANT: Additional settings that can override those from this file!
#   The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/

 

如果你已经安装完毕并且运行过emma,程序就会创建 ~/.emma/emmarc文件,保存你自己的一些配置。

vim ~/.emma/emmarc   

找到
db_encoding=latin1  
改为
db_encoding=utf8  

然后里,在执行所有的sql语句之前加入这条sql语句
set names utf8  
按ctrl+enter执行之后,再看看是不是已经ok了。正常显示中文了
自动的执行“set names utf8” 语句。
ubuntu的apt-get 安装emma是在/usr/share/emma目录下面。
   cd /usr/share/emma/emmalib  
   sudo vim __init__.py  
找到
   "db_encoding": "latin1"  
改为
   "db_encoding": "utf8"  
保存退出。以后新创建的配置文件默认就会是utf8的解码了,我想在连接数据之后就执行 “set names utf8” 语句,所以
    sudo vim /usr/share/emma/emmalib/mysql_host.py  
跳到155行左右的_use_db(self, name, do_query=True)函数哪里,改成如下
def _use_db(self, name, do_query=True):  
        if self.current_db and name == self.current_db.name: return  
        if do_query:   
                self.query("use `%s`" % name, False)  
                self.query("set names utf8",  False)  
        try:  
                self.current_db = self.databases[name]  
        except KeyError:  
                print "Warning: used an unknown database %r! please refresh host!\n%s" % (name, "".join(traceback.format_stack()))  
自己看着改,反正改成上面的样子,注意空格,因为python是以空格当语句的分割语法的。
其实就是加了一句
self.query("set names utf8",  False)  
我机器上的就打不开然后:
self.query("set names utf8",  False)
self.query("use `%s`" % name, False) 
换了一下位子就ok了。

 

 

 

分享到:
评论

相关推荐

    ubuntu 下mysql 安装及配置文件

    本文将详细介绍如何在Ubuntu上安装MySQL,以及涉及的配置文件和编码设置。 首先,安装MySQL的过程通常通过Ubuntu的包管理器`apt`进行。打开终端并执行以下命令来更新系统软件库: ```shell sudo apt update ``` ...

    Ubuntu下MySQL安装配置以及简单应用实例

    Ubuntu下MySQL安装及配置文档,自己安装MySQL5.6.17过程整理的 内容如下 Ubuntu12.04下MySQL安装配置 一.MySQL安装 2 二.MySQL开机自启动设置 4 三.MySQL常用操作 5 四.编码配置 8 五.更改mysql的数据库目录 10 六....

    ubuntu下mysql安装教程

    在Ubuntu系统上安装MySQL是一个相对简单的过程,但对初学者来说可能会遇到一些挑战。这篇教程将引导你逐步完成MySQL的安装,并解决可能出现的问题。MySQL是一个流行的关系型数据库管理系统(RDBMS),广泛应用于Web...

    Ubuntu下 mysql安装配置教程.docx

    在Ubuntu操作系统上安装和配置MySQL是一项基础且重要的任务,尤其对于开发者和系统管理员而言。MySQL是一种流行的开源关系型数据库管理系统,广泛应用于各种Web应用程序。以下是详细的步骤和相关知识点: 1. **安装...

    Ubuntu上MySQL的Replication配置

    胖子摸索出来的,Ubuntu上MySQL的Replication配置,的简单记录步骤

    ubuntu mysql my.cnf 服务器最佳配置

    ubuntu mysql my.cnf 服务器最佳配置(16G,32G 内存)

    Ubuntu安装指定版本mysql

    在本文中,我们将详细介绍如何在Ubuntu系统下安装指定版本的MySQL数据库管理系统。MySQL是最流行的开源关系数据库管理系统之一,广泛应用于Web应用程序和企业级应用程序中。下面将一步步地介绍安装过程。 安装准备 ...

    Ubuntu 安装MySQL(国内镜像源).pdf

    总的来说,文档详细介绍了在 Ubuntu 系统中通过国内镜像源安装 MySQL 的步骤,包括配置源地址、解决 GPG 错误、导入公钥以及安装 MySQL 服务器。这些操作对于新手来说可能稍显复杂,但是通过逐步跟随文档的指引,...

    ubuntu 安装mysql odbc驱动.zip

    这就是在Ubuntu上安装和配置MySQL ODBC驱动的基本过程及相关知识点。通过这个过程,你不仅可以学会如何在Linux系统上设置ODBC连接,还能理解ODBC接口的工作原理,这对于跨平台的数据库集成非常有帮助。

    Ubuntu16.04中安装配置mysql数据库.docx

    Ubuntu 16.04 中安装配置 MySQL 数据库 本资源摘要信息主要介绍了在 Ubuntu 16.04 操作系统中安装配置 MySQL 5.7.24 数据库的步骤,包括添加 APT 存储库、安装 MySQL、初始化数据库、设置 root 密码、删除匿名账户...

    ubuntu安装mysql5.6完整步骤说明(亲测实用).docx

    Ubuntu 安装 MySQL 5.6 完整步骤说明 在本文中,我们将详细介绍在 Ubuntu 系统中安装 MySQL 5.6 的完整步骤。MySQL 是一个流行的关系数据库管理系统,广泛应用于 Web 应用程序中。本文将涵盖从下载安装包到设置远程...

    Ubuntu-mysql5.7.25离线完整安装包(含三个依赖包)

    2. 依赖包:MySQL的正常运行依赖于一些库和工具。这三个依赖包可能是: - libaio1:提供异步I/O操作的库,对于MySQL的某些功能至关重要。 - libssl-dev:用于加密通信,包括SSL/TLS安全连接,是MySQL数据库中数据...

    ubuntu能用的mysql5.7.38,并附带安装手册

    下面将详细介绍在Ubuntu上安装MySQL 5.7.38的步骤以及一些关键知识点。 首先,确保你的Ubuntu系统是最新的。打开终端并输入以下命令来更新系统软件包列表: ```bash sudo apt update sudo apt upgrade ``` 接下来...

    Ubuntu下LAMP(linux+apache+mysql+php)环境的配置与安装.pdf

    Ubuntu下LAMP环境的配置与安装 LAMP(Linux、Apache、MySQL、PHP)是一套常用的Web开发环境,这四个组件的结合可以为我们提供一个强大且灵活的Web应用程序开发平台。在Ubuntu操作系统下,安装和配置LAMP环境是非常...

    mysql-Ubuntu16.04安装及配置

    ubuntu 16.04下mysql的安装及配置文档,很工整,齐全

    Ubuntu18.04安装mysql

    - 安装过程中可能会有一些提示要求确认操作,默认情况下一般选择 "Y" 或 "Yes" 即可。 - 安装过程中会设置 MySQL root 用户的密码,建议设置一个强密码。 #### 知识点四:MySQL 配置文件 - **配置文件安装**:...

    ubuntu 15.04开放mysql远程3306端口

    ### Ubuntu 15.04 开放 MySQL 远程 3306 端口详解 #### 背景介绍 Ubuntu 15.04 是一款基于 Linux 的操作系统,广泛应用于服务器和个人电脑上。MySQL 是一种流行的关系型数据库管理系统,被用于存储和管理数据。默认...

    ubuntu 一键安装mysql8

    2. 安装必备依赖:在安装MySQL 8.0之前,需要先安装一些依赖包,如`libaio1`,`libssl1.0.0`,`libncurses5`等,这些依赖确保MySQL能够正常运行。这些依赖在`mysql`目录下的可能就是提前打包好的离线安装包,或者...

    ubuntu/linux下mysql数据库安装配置

    在Ubuntu/Linux环境下安装和配置MySQL数据库是许多开发者和系统管理员必须掌握的基础技能。MySQL是一种广泛使用的开源关系型数据库管理系统,对于Web应用程序和其他各种项目来说至关重要。下面我们将详细介绍在...

    在Ubuntu下解决MySQL不能远程访问的问题.docx

    然而,在实际应用场景中,我们往往需要让其他机器能够远程访问MySQL数据库,这就要求我们对Ubuntu下的MySQL进行相应的配置修改。本文将详细阐述如何在Ubuntu下解决MySQL不能远程访问的问题,具体步骤分为三个部分:...

Global site tag (gtag.js) - Google Analytics