Ubuntu下安装MySQL 5.6.23

1.下载相应Linux-generic的源代码包。解压,将解压后的文件夹重命名为mysql。移动到/usr/local文件夹下;
tar –xzf mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.6.23-linux-glibc2.5-x86_64 mysql
 sudo mv mysql /usr/local

2.创建用户mysql和组mysql
vonzhou@de16-C6100: sudo groupadd mysql

vonzhou@de16-C6100:  sudo useradd -r -g mysql mysql

3、进入mysql文件夹
vonzhou@de16-C6100:  sudo cd /usr/local/mysql 

4、将mysql目录own及grp变更为mysql
vonzhou@de16-C6100:/usr/local/mysql$ sudo chown -R mysql .
vonzhou@de16-C6100:/usr/local/mysql$ sudo chgrp -R mysql .



5、运行mysql安装脚本,设置用户

vonzhou@de16-C6100:/usr/local/mysql$ sudo ./scripts/mysql_install_db --user=mysql

Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
vonzhou@de16-C6100:/usr/local/mysql$ sudo apt-get install libaio-dev

(..........)

vonzhou@de16-C6100:/usr/local/mysql$ sudo ./scripts/mysql_install_db --user=mysql

Installing MySQL system tables...2015-03-18 21:22:46 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2015-03-18 21:22:46 5284 [Note] InnoDB: Using atomics to ref count buffer pool pages

2015-03-18 21:22:46 5284 [Note] InnoDB: The InnoDB memory heap is disabled

2015-03-18 21:22:46 5284 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins

2015-03-18 21:22:46 5284 [Note] InnoDB: Memory barrier is not used

2015-03-18 21:22:46 5284 [Note] InnoDB: Compressed tables use zlib 1.2.3

2015-03-18 21:22:46 5284 [Note] InnoDB: Using Linux native AIO

2015-03-18 21:22:46 5284 [Note] InnoDB: Using CPU crc32 instructions

2015-03-18 21:22:46 5284 [Note] InnoDB: Initializing buffer pool, size = 128.0M

2015-03-18 21:22:46 5284 [Note] InnoDB: Completed initialization of buffer pool

2015-03-18 21:22:46 5284 [Note] InnoDB: The first specified data file ./ibdata1 did not exist: a new database to be created!

2015-03-18 21:22:46 5284 [Note] InnoDB: Setting file ./ibdata1 size to 12 MB

2015-03-18 21:22:46 5284 [Note] InnoDB: Database physically writes the file full: wait...

2015-03-18 21:22:46 5284 [Note] InnoDB: Setting log file ./ib_logfile101 size to 48 MB

2015-03-18 21:22:46 5284 [Note] InnoDB: Setting log file ./ib_logfile1 size to 48 MB

2015-03-18 21:22:47 5284 [Note] InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0

2015-03-18 21:22:47 5284 [Warning] InnoDB: New log files created, LSN=45781

2015-03-18 21:22:47 5284 [Note] InnoDB: Doublewrite buffer not found: creating new

2015-03-18 21:22:47 5284 [Note] InnoDB: Doublewrite buffer created

2015-03-18 21:22:47 5284 [Note] InnoDB: 128 rollback segment(s) are active.

2015-03-18 21:22:47 5284 [Warning] InnoDB: Creating foreign key constraint system tables.

2015-03-18 21:22:47 5284 [Note] InnoDB: Foreign key constraint system tables created

2015-03-18 21:22:47 5284 [Note] InnoDB: Creating tablespace and datafile system tables.

2015-03-18 21:22:47 5284 [Note] InnoDB: Tablespace and datafile system tables created.

2015-03-18 21:22:47 5284 [Note] InnoDB: Waiting for purge to start

2015-03-18 21:22:48 5284 [Note] InnoDB: 5.6.23 started; log sequence number 0

2015-03-18 21:22:52 5284 [Note] Binlog end

2015-03-18 21:22:52 5284 [Note] InnoDB: FTS optimize thread exiting.

2015-03-18 21:22:52 5284 [Note] InnoDB: Starting shutdown...

2015-03-18 21:22:53 5284 [Note] InnoDB: Shutdown completed; log sequence number 1625977

OK



Filling help tables...2015-03-18 21:22:53 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2015-03-18 21:22:53 5307 [Note] InnoDB: Using atomics to ref count buffer pool pages

2015-03-18 21:22:53 5307 [Note] InnoDB: The InnoDB memory heap is disabled

2015-03-18 21:22:53 5307 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins

2015-03-18 21:22:53 5307 [Note] InnoDB: Memory barrier is not used

2015-03-18 21:22:53 5307 [Note] InnoDB: Compressed tables use zlib 1.2.3

2015-03-18 21:22:53 5307 [Note] InnoDB: Using Linux native AIO

2015-03-18 21:22:53 5307 [Note] InnoDB: Using CPU crc32 instructions

2015-03-18 21:22:53 5307 [Note] InnoDB: Initializing buffer pool, size = 128.0M

2015-03-18 21:22:53 5307 [Note] InnoDB: Completed initialization of buffer pool

2015-03-18 21:22:53 5307 [Note] InnoDB: Highest supported file format is Barracuda.

2015-03-18 21:22:53 5307 [Note] InnoDB: 128 rollback segment(s) are active.

2015-03-18 21:22:53 5307 [Note] InnoDB: Waiting for purge to start

2015-03-18 21:22:53 5307 [Note] InnoDB: 5.6.23 started; log sequence number 1625977

2015-03-18 21:22:53 5307 [Note] Binlog end

2015-03-18 21:22:53 5307 [Note] InnoDB: FTS optimize thread exiting.

2015-03-18 21:22:53 5307 [Note] InnoDB: Starting shutdown...

2015-03-18 21:22:55 5307 [Note] InnoDB: Shutdown completed; log sequence number 1625987

OK



To start mysqld at boot time you have to copy

support-files/mysql.server to the right place for your system



PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !

To do so, start the server, then issue the following commands:



  ./bin/mysqladmin -u root password 'new-password'

  ./bin/mysqladmin -u root -h de16-C6100 password 'new-password'



Alternatively you can run:



  ./bin/mysql_secure_installation



which will also give you the option of removing the test

databases and anonymous user created by default.  This is

strongly recommended for production servers.



See the manual for more instructions.



You can start the MySQL daemon with:



  cd . ; ./bin/mysqld_safe &



You can test the MySQL daemon with mysql-test-run.pl



  cd mysql-test ; perl mysql-test-run.pl



Please report any problems at http://bugs.mysql.com/



The latest information about MySQL is available on the web at



  http://www.mysql.com



Support MySQL by buying support/licenses at http://shop.mysql.com



WARNING: Found existing config file ./my.cnf on the system.

Because this file might be in use, it was not replaced,

but was used in bootstrap (unless you used --defaults-file)

and when you later start the server.

The new default config file was created as ./my-new.cnf,

please compare it with your file and take the changes you need.
 
6.上述步骤安装完毕后。把该文件夹的全部权变更回来,除了data文件夹能够供我们普通用户操作。
vonzhou@de16-C6100:/usr/local/mysql$ sudo chown -R root .

vonzhou@de16-C6100:/usr/local/mysql$ sudo chown -R mysql data

7. 能够改变默认配置文件的位置;
vonzhou@de16-C6100:/usr/local/mysql$ sudo cp support-files/my-default.cnf /etc/my.cnf

8.后台启动mysql server;

vonzhou@de16-C6100:/usr/local/mysql$ sudo bin/mysqld_safe --user=mysql &

[1] 5375

vonzhou@de16-C6100:/usr/local/mysql$ 150318 21:29:24 mysqld_safe Logging to '/usr/local/mysql/data/de16-C6100.err'.

150318 21:29:24 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data



9. 设置MySQL root权限的password;

vonzhou@de16-C6100:/usr/local/mysql$ sudo bin/mysqladmin -u root password '你的密码'

Warning: Using a password on the command line interface can be insecure.

10. 把运行脚本移到init.d文件夹下;

vonzhou@de16-C6100:/usr/local/mysql$ sudo cp support-files/mysql.server /etc/init.d/mysql.server

11.此时能够查看执行状态。能够用service命令的status/start/stop/restart控制。

vonzhou@de16-C6100:/usr/local/mysql$ sudo service mysql.server status

* MySQL running (5477)

12.设置开机启动(就是插入到那些开机会自己主动执行的脚本中),取消自启动的话defaults -> remove ;

vonzhou@de16-C6100:/usr/local/mysql$ sudo update-rc.d mysql.server defaults

Adding system startup for /etc/init.d/mysql.server ...

   /etc/rc0.d/K20mysql.server -> ../init.d/mysql.server

   /etc/rc1.d/K20mysql.server -> ../init.d/mysql.server

   /etc/rc6.d/K20mysql.server -> ../init.d/mysql.server

   /etc/rc2.d/S20mysql.server -> ../init.d/mysql.server

   /etc/rc3.d/S20mysql.server -> ../init.d/mysql.server

   /etc/rc4.d/S20mysql.server -> ../init.d/mysql.server

   /etc/rc5.d/S20mysql.server -> ../init.d/mysql.server

13.搞个符号连接,方便命令的输入(这个有用程序是用来连接到MySQL server的client程序(CLI));

vonzhou@de16-C6100:/usr/local/mysql$ sudo ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql

14. 此时,就依照好了。能够简单測试下。

vonzhou@de16-C6100:/usr/local/mysql$ mysql

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 2

Server version: 5.6.23 MySQL Community Server (GPL)



Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.



Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.



Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.



mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| test               |

+--------------------+

2 rows in set (0.00 sec)



mysql> exit

Bye
04-08 18:06