MySQL 5.5.12安裝和升級

來源:互聯網
上載者:User

mysql 5.5中InnoDB作為預設的資料庫儲存引擎,mysql-5.1升級mysql到mysql-5.5以後,以下程式需要重新編譯安裝升級:
PHP 5.3.6
cacti spine
pureftp

安裝
wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.12-linux2.6-x86_64.tar.gz/from/http://mysql.ntu.edu.tw/

tar -C /usr/local -xzf  mysql-5.5.12-linux2.6-x86_64.tar.gz
cd /usr/local
ln -s mysql-5.5.12-linux2.6-x86_64/ mysql

cd /usr/local/mysql
mkdir -p /usr/local/mysql/etc/
cp support-files/my-huge.cnf etc/my.cnf

sed -i 's/skip-locking/skip-external-locking/' my.cnf
sed -i 's/default-character-set/character-set-server/' my.cnf
sed -i 's/log_slow_queries/slow_query_log/' my.cnf

修改server-id = 1為伺服器ip地址最後幾位,或者其它數值:
cd /usr/local/mysql/etc/
vim  my.cnf
#max_allowed_packet = 1M
server-id = 8108

max_allowed_packet = 64M
max_connections=800
character-set-server=utf8
expire_logs_days = 60
binlog_format=mixed
log-bin=mysql-bin
#read_only=1
#slave-skip-errors=1062,1032,1053

innodb_log_files_in_group=2
#default_table_type = INNODB //unknown variable
innodb_data_home_dir = /opt/data/mysql/
innodb_data_file_path = ibdata1:2000M;ibdata2:2000M;ibdata3:20M:autoextend
innodb_log_group_home_dir = /opt/data/mysql/

# 4G RAM
innodb_buffer_pool_size = 1G
innodb_log_file_size = 256M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit=0
innodb_thread_concurrency=8
innodb_flush_method=O_DIRECT

# perform
tmp_table_size = 512M
max_heap_table_size=128M

slow_query_log
#log-queries-not-using-indexes
#log-slow-admin-statements
#slow_query_log_file=mysql-slow.log
long_query_time=1
log-error=mysqld.log

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

添加資料庫使用者
/usr/sbin/groupadd -g 502 mysql
/usr/sbin/useradd -u 502 -g mysql mysql

mkdir -p /opt/data/mysql/
chown mysql.mysql /opt/data/mysql/

cd /usr/local/mysql/
scripts/mysql_install_db –user=mysql
chown -R root .
chown -R mysql data
chgrp -R mysql .
#chmod -R u+rw data
cd /opt/data/mysql/
chown mysql.mysql /opt/data/mysql/

cd /usr/local/mysql/
cp support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld

/etc/rc.d/init.d/mysqld restart

#/sbin/chkconfig –level 345 mysqld on
#/sbin/chkconfig –del mysqld
/sbin/chkconfig –add mysqld
/sbin/chkconfig –list mysqld

echo "/usr/local/mysql/lib" >> /etc/ld.so.conf
cat /etc/ld.so.conf
ldconfig

mkdir -p /var/lib/mysql/
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

#/usr/local/mysql/bin/mysqld_safe &
mkdir -p /var/run/mysqld/
chown mysql /var/run/mysqld/

#加入mysql到路徑
echo pathmunge /usr/local/mysql/bin after > /etc/profile.d/mysql.sh

#執行一下,保證mysql在路徑環境變數中
. /etc/profile

mysql5.1升級到mysql5.5
mysql_upgrade包含一下三個命令:
# mysqlcheck –check-upgrade –all-databases –auto-repair
# mysql_fix_privilege_tables
# mysqlcheck –all-databases –check-upgrade –fix-db-names –fix-table-names
在每一次的升級過程中,建議執行mysql_upgrade這個命令,通過mysqlcheck命令幫我們去檢查表是否相容新版本的資料庫同時作出修複,使用mysql_fix_privilege_tables命令去升級許可權表。
/usr/local/mysql/bin/mysql_upgrade -uroot -p

[ERROR] /usr/local/mysql/bin/mysqld: unknown variable 'default_table_type=INNODB'
注釋my.cnf中的default_table_type=INNODB

把所有INNODB錶轉換成MYISAM表的指令碼
sed -i 's/$opt_type/$opt_engine/' /usr/local/mysql/bin/mysql_convert_table_format
/usr/local/mysql/bin/mysql_convert_table_format –user='root' –password='veryi.com' –socket='/tmp/mysql.sock' –type='INNODB'

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.