天天看點

Linux編譯安裝MySQL5.6及修改字元集

環境準備:

mysql5.5以後./configure編譯方式就改為cmake工具來編譯。

安裝依賴包: yum install -y cmake gcc gcc-c++ make cmake ncurses ncurses-devel

建立mysql使用者群組:

groupadd mysql

useradd -g mysql -s /sbin/nologin mysql

1.安裝mysql

下載下傳:http://dev.mysql.com/downloads/mysql

1

2

3

4

5

6

<code>tar</code> <code>zxvf mysql-5.6.14.</code><code>tar</code><code>.gz</code>

<code>cd</code> <code>mysql-5.6.14</code>

<code>cmake -dcmake_install_prefix=</code><code>/usr/local/mysql5</code><code>.6 \</code>

<code>-dsysconfdir=</code><code>/usr/local/mysql/etc</code> <code>\</code>

<code>-dmysql_datadir=</code><code>/usr/local/mysql5</code><code>.6</code><code>/data</code>

<code>make</code> <code>&amp;&amp; </code><code>make</code> <code>install</code>

如果依賴包沒有安裝,編譯配置會報錯缺少什麼庫,安裝相關包即可,再删除cmakecache.txt!

2.初始化資料庫和配置

7

8

9

10

11

12

<code>/usr/local/mysql5</code><code>.6</code><code>/scripts/mysql_install_db</code> <code>\</code>

<code>--basedir=</code><code>/usr/local/mysql5</code><code>.6 --datadir= </code><code>/usr/local/mysql5</code><code>.6</code><code>/data</code> <code>\</code>

<code>--user=mysql&amp; </code><code>#初始化資料庫</code>

<code>mkdir</code> <code>-p </code><code>/usr/local/mysql5</code><code>.6</code><code>/etc</code>

<code>cp</code> <code>support-files</code><code>/my-medium</code><code>.cnf </code><code>/usr/local/mysql/etc/my</code><code>.cnf</code>

<code>cp</code> <code>support-files</code><code>/mysql</code><code>.server </code><code>/etc/rc</code><code>.d</code><code>/init</code><code>.d</code><code>/mysqld</code>

<code>chmod</code> <code>+x </code><code>/etc/init</code><code>.d</code><code>/mysqld</code>

<code>chown</code> <code>-r root.mysql </code><code>/usr/local/mysql/</code>         <code>#賦予mysql屬組權限</code>

<code>chown</code> <code>-r mysql.mysql </code><code>/usr/local/mysql/data</code>    <code>#賦予資料存放目錄權限</code>

<code>/usr/local/mysql5</code><code>.6</code><code>/bin/mysqld_safe</code> <code>–user=mysql&amp;       </code><code>#安全啟動mysql</code>

<code>echo</code><code>‘path=$path:</code><code>/usr/local/mysql/bin</code><code>' &gt;&gt; </code><code>/etc/profile</code>  <code>#設定變量,友善使用mysql指令</code>

<code>source</code> <code>/etc/profile</code>

3.設定mysql預設建立資料庫編碼

<code>vi</code> <code>/usr/local/mysql/etc/my</code><code>.cnf</code>

<code>在[mysqld]下添加</code>

<code>default-character-</code><code>set</code><code>=utf8</code>

<code>或者 default-character-</code><code>set</code><code>=gbk  </code><code>#防止網站出現亂碼</code>

<code>在[client]下添加</code>

<code>或者 default-character-</code><code>set</code><code>=gbk</code>

4.測試是否安裝成功

service mysqld start

如果啟動報錯:

starting mysql. error! the server quit without updating pid file (/var/lib/mysql/202.pid)

解決:rm -rf /etc/my.cnf #删除自帶的配置檔案

<code>mysqladmin -uroot password </code><code>'123.com'</code>  <code>#設定初次登陸mysql密碼</code>

<code>mysql -u root -p123456</code>

<code>mysql&gt; show databases;</code>

<code>+——————–+</code>

<code>| database |</code>

<code>| information_schema |</code>

<code>| mysql |</code>

<code>| test |</code>

<code>6rows inset(</code><code>0</code><code>.00sec)</code>

5.常用編譯參數

13

<code>-dcmake_install_prefix=</code><code>/usr/local/mysql</code>  <code>#安裝路徑</code>

<code>-dmysql_datadir=</code><code>/usr/local/mysql/data</code>    <code>#資料檔案存放位置</code>

<code>-dsysconfdir=</code><code>/usr/local/mysql/etc</code>        <code>#my.cnf路徑</code>

<code>-dwith_myisam_storage_engine=1           </code><code>#支援myiasm引擎</code>

<code>-dwith_innobase_storage_engine=1         </code><code>#支援innodb引擎</code>

<code>-dwith_memory_storage_engine=1           </code><code>#支援memory引擎</code>

<code>-dmysql_unix_addr=</code><code>/tmp/mysqld</code><code>.sock       </code><code>#連接配接資料庫socket路徑</code>

<code>-dmysql_tcp_port=3306                    </code><code>#預設端口</code>

<code>-dwith_extra_charsets:string=utf8,gbk    </code><code>#安裝需要的字元集</code>

<code>-ddefault_charset=utf8                   </code><code>#預設字元集</code>

<code>-ddefault_collation=utf8_general_ci      </code><code>#設定預設效驗字元集排序規則,要和ddefault_charset一起用</code>

<code>-dmysql_user=mysql                       </code><code>#運作使用者</code>

<code>-dwith_comment=’string’                </code><code>#注釋存儲類型</code>

6、mysql字元集介紹及修改(編碼)

常用字元集:atin英文,big5繁體中文,gb2312中文,utf8通用語言

mysql對于字元集的支援細化到四個層次:

伺服器(server);

資料庫(database);

資料表(table)(字段column);

連接配接(connection);

方法1:主配置檔案修改my.cnf

[mysqld]

character_set_server=utf8

[mysql]

default-character-set=utf8

重新開機mysql!

方法2:mysql指令修改(網站亂碼如下解決)

1.檢視資料庫使用的字元集:

<code>mysql&gt; show variables like </code><code>'character\_set\_%'</code><code>;</code>

<code>mysql&gt; show variables like </code><code>'char%'</code><code>;</code>

<code>mysql&gt; show create table tablename;  </code><code>#檢視建立表時字元集</code>

2.修改預設字元集

 2.1修改伺服器預設字元集

 set character_set_server=utf8

 2.2修改資料庫字元集

 set character_set_database=utf8;

 2.3修改資料庫用戶端字元集

 set character_set_client=utf8;

 2.4修改連接配接預設字元集

 set character_set_connection=utf8

3.修改已經存在庫的字元集

 3.1修改存在資料庫的字元集

 alter database mydb character set utf-8;

 3.2修改存在表的字元集

 alter table mytable default character set utf8

 3.3修改存在表字段字元集

 alter table mytable change old_column new_column varchar(255) character set utf8;