您的位置:首页 > 运维架构 > Linux

linux 装 mysql

2015-10-07 15:08 411 查看
参考:http://blog.csdn.net/beiigang/article/details/43051901

centos65上安装mysql一

梳理了一下centos上安装mysql的三种方法:一是通过源码安装,二是用通用二进制包,三是通过不同linux release到系统包安装,centos上是RPM包安装。

先来rpm包装

0

环境

[root@host2 ~]# uname -a

Linux host2 2.6.32-504.3.3.el6.x86_64 #1 SMP Wed Dec 17 01:55:02 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

[root@host2 ~]# cat /etc/issue

CentOS release 6.5 (Final)

Kernel \r on an \m

1

下载
http://dev.mysql.com/downloads/
2

检查是否安装

[root@host2 ~]# rpm -qa | grep -i mysql

文件名

MySQL-5.6.22-1.linux_glibc2.5.x86_64.rpm-bundle.tar

3

删除已安装

[root@host2 ~]# rpm -e mysql-libs-5.1.71-1.el6.x86_64 --nodeps

[root@host2 ~]#

4

查验,这样删还是会留下一些东西

[root@host2 ~]# find / -name mysql

[root@host2 ~]# find / -name *mysql*

/etc/selinux/targeted/modules/active/modules/mysql.pp

/usr/lib/python2.6/site-packages/sos/plugins/mysql.pyc

/usr/lib/python2.6/site-packages/sos/plugins/mysql.pyo

/usr/lib/python2.6/site-packages/sos/plugins/mysql.py

/usr/share/vim/vim72/syntax/mysql.vim

/usr/share/selinux/devel/include/services/mysql.if

/usr/share/selinux/targeted/mysql.pp.bz2

/usr/share/doc/rsyslog-5.8.10/rsyslog_mysql.html

/usr/share/doc/rsyslog-5.8.10/ommysql.html

/usr/share/man/man5/mysql_table.5.gz

/usr/lib64/libreoffice/program/libmysqllo.so

/selinux/booleans/allow_user_mysql_connect

/selinux/booleans/mysql_connect_any

/var/lib/yum/yumdb/m/b642f65e3df41063e068158061ae2e08f22e3dad-mysql-libs-5.1.71-1.el6-x86_64

[root@host2 ~]# rpm -qa | grep -i mysql

[root@host2 ~]#

5

查验有否mysql用户和组

[root@host2 ~]# nl /etc/group | grep mysql

[root@host2 ~]# nl /etc/shadow | grep mysql

[root@host2 ~]#

6

解包

[root@host2 mysql_rpm]# tar -xvf MySQL-5.6.22-1.linux_glibc2.5.x86_64.rpm-bundle.tar

MySQL-shared-compat-5.6.22-1.linux_glibc2.5.x86_64.rpm #RHEL兼容包

MySQL-client-5.6.22-1.linux_glibc2.5.x86_64.rpm   #MySQL客户端程序

MySQL-shared-5.6.22-1.linux_glibc2.5.x86_64.rpm #MySQL的共享库

MySQL-server-5.6.22-1.linux_glibc2.5.x86_64.rpm #MySQL服务端程序

MySQL-test-5.6.22-1.linux_glibc2.5.x86_64.rpm #MySQL的测试组件

MySQL-devel-5.6.22-1.linux_glibc2.5.x86_64.rpm #MySQL的库和头文件

MySQL-embedded-5.6.22-1.linux_glibc2.5.x86_64.rpm #MySQL的嵌入式程序

[root@host2 mysql_rpm]#

7

[root@host2 mysql_rpm]# rpm -ivh MySQL-server-5.6.22-1.linux_glibc2.5.x86_64.rpm

[root@host2 mysql_rpm]# rpm -ivh MySQL-server-5.6.22-1.linux_glibc2.5.x86_64.rpm

Preparing... ########################################### [100%]

1:MySQL-server ########################################### [100%]

warning: user mysql does not exist - using root

warning: group mysql does not exist - using root

2015-01-20 13:10:42 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2015-01-20 13:10:42 5645 [Note] InnoDB: Using atomics to ref count buffer pool pages

2015-01-20 13:10:42 5645 [Note] InnoDB: The InnoDB memory heap is disabled

2015-01-20 13:10:42 5645 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins

2015-01-20 13:10:42 5645 [Note] InnoDB: Memory barrier is not used

2015-01-20 13:10:42 5645 [Note] InnoDB: Compressed tables use zlib 1.2.3

2015-01-20 13:10:42 5645 [Note] InnoDB: Using Linux native AIO

2015-01-20 13:10:42 5645 [Note] InnoDB: Not using CPU crc32 instructions

2015-01-20 13:10:42 5645 [Note] InnoDB: Initializing buffer pool, size = 128.0M

2015-01-20 13:10:42 5645 [Note] InnoDB: Completed initialization of buffer pool

2015-01-20 13:10:42 5645 [Note] InnoDB: The first specified data file ./ibdata1 did not exist: a new database to be created!

2015-01-20 13:10:42 5645 [Note] InnoDB: Setting file ./ibdata1 size to 12 MB

2015-01-20 13:10:42 5645 [Note] InnoDB: Database physically writes the file full: wait...

2015-01-20 13:10:42 5645 [Note] InnoDB: Setting log file ./ib_logfile101 size to 48 MB

2015-01-20 13:10:42 5645 [Note] InnoDB: Setting log file ./ib_logfile1 size to 48 MB

2015-01-20 13:10:43 5645 [Note] InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0

2015-01-20 13:10:43 5645 [Warning] InnoDB: New log files created, LSN=45781

2015-01-20 13:10:43 5645 [Note] InnoDB: Doublewrite buffer not found: creating new

2015-01-20 13:10:43 5645 [Note] InnoDB: Doublewrite buffer created

2015-01-20 13:10:43 5645 [Note] InnoDB: 128 rollback segment(s) are active.

2015-01-20 13:10:43 5645 [Warning] InnoDB: Creating foreign key constraint system tables.

2015-01-20 13:10:43 5645 [Note] InnoDB: Foreign key constraint system tables created

2015-01-20 13:10:43 5645 [Note] InnoDB: Creating tablespace and datafile system tables.

2015-01-20 13:10:43 5645 [Note] InnoDB: Tablespace and datafile system tables created.

2015-01-20 13:10:43 5645 [Note] InnoDB: Waiting for purge to start

2015-01-20 13:10:43 5645 [Note] InnoDB: 5.6.22 started; log sequence number 0

A random root password has been set. You will find it in '/root/.mysql_secret'.

2015-01-20 13:10:44 5645 [Note] Binlog end

2015-01-20 13:10:44 5645 [Note] InnoDB: FTS optimize thread exiting.

2015-01-20 13:10:44 5645 [Note] InnoDB: Starting shutdown...

2015-01-20 13:10:45 5645 [Note] InnoDB: Shutdown completed; log sequence number 1625977

2015-01-20 13:10:45 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2015-01-20 13:10:45 5667 [Note] InnoDB: Using atomics to ref count buffer pool pages

2015-01-20 13:10:45 5667 [Note] InnoDB: The InnoDB memory heap is disabled

2015-01-20 13:10:45 5667 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins

2015-01-20 13:10:45 5667 [Note] InnoDB: Memory barrier is not used

2015-01-20 13:10:45 5667 [Note] InnoDB: Compressed tables use zlib 1.2.3

2015-01-20 13:10:45 5667 [Note] InnoDB: Using Linux native AIO

2015-01-20 13:10:45 5667 [Note] InnoDB: Not using CPU crc32 instructions

2015-01-20 13:10:45 5667 [Note] InnoDB: Initializing buffer pool, size = 128.0M

2015-01-20 13:10:45 5667 [Note] InnoDB: Completed initialization of buffer pool

2015-01-20 13:10:45 5667 [Note] InnoDB: Highest supported file format is Barracuda.

2015-01-20 13:10:45 5667 [Note] InnoDB: 128 rollback segment(s) are active.

2015-01-20 13:10:45 5667 [Note] InnoDB: Waiting for purge to start

2015-01-20 13:10:45 5667 [Note] InnoDB: 5.6.22 started; log sequence number 1625977

2015-01-20 13:10:45 5667 [Note] Binlog end

2015-01-20 13:10:45 5667 [Note] InnoDB: FTS optimize thread exiting.

2015-01-20 13:10:45 5667 [Note] InnoDB: Starting shutdown...

2015-01-20 13:10:47 5667 [Note] InnoDB: Shutdown completed; log sequence number 1625987

A RANDOM PASSWORD HAS BEEN SET FOR THE MySQL root USER !

You will find that password in '/root/.mysql_secret'.

You must change that password on your first connect,

no other statement but 'SET PASSWORD' will be accepted.

See the manual for the semantics of the 'password expired' flag.

Also, the account for the anonymous user has been removed.

In addition, you can run:

/usr/bin/mysql_secure_installation

which will also give you the option of removing the test database.

This is strongly recommended for production servers.

See the manual for more instructions.

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
New default config file was created as /usr/my.cnf and

will be used by default by the server when you start it.

You may edit this file to change server settings

[root@host2 mysql_rpm]#

8

已经有了mysql用户和组

[root@host2 mysql_rpm]# id mysql

uid=495(mysql) gid=492(mysql) groups=492(mysql)

[root@host2 mysql_rpm]# nl /etc/group | grep mysql

60 mysql:x:492:

[root@host2 mysql_rpm]# cat /etc/group | grep mysql

mysql:x:492:

[root@host2 mysql_rpm]# cat /etc/shadow | grep mysql

mysql:!!:16455::::::

[root@host2 mysql_rpm]#

9

RPM安装方式文件分布

Table 2.6 MySQLInstallation Layout for Linux RPM Packages from the MySQL DeveloperZone
Directory
Contentsof Directory
/usr/bin

Clientprograms and scripts
/usr/sbin

Themysqldserver
/var/lib/mysql

Logfiles, databases
/usr/share/info

Manualin Info format
/usr/share/man

Unixmanual pages
/usr/include/mysql

Include(header) files
/usr/lib/mysql

Libraries
/usr/share/mysql

Miscellaneoussupport files, including error messages, character set files,sample configuration files, SQL for database installation
/usr/share/sql-bench

Benchmarks
10

copy配置文件

# 没有这一步也可以按内置参数

[root@host2 mysql_rpm]# cp /usr/share/mysql/my-default.cnf /etc/my.cnf

[root@host2 mysql_rpm]#

11

start

[root@host2 mysql_rpm]# service mysql status

MySQL is not running [FAILED]

[root@host2 mysql_rpm]# service mysql start

Starting MySQL.. [ OK ]

11

查验

[root@host2 mysql_rpm]# netstat -anpl | grep mysql

tcp 0 0 :::3306 :::* LISTEN 5924/mysqld

unix 2 [ ACC ] STREAM LISTENING 76015 5924/mysqld /var/lib/mysql/mysql.sock

[root@host2 mysql_rpm]#

12

安装客户端

[root@host2 mysql_rpm]# rpm -ivh MySQL-client-5.6.22-1.linux_glibc2.5.x86_64.rpm

Preparing... ########################################### [100%]

1:MySQL-client ########################################### [100%]

[root@host2 mysql_rpm]#

13

连到mysql并修改

[root@host2 mysql_rpm]# nl /root/.mysql_secret

1 # The random password set for the root user at Tue Jan 20 13:10:43 2015 (local time): F76Wy1A4G9ZuLcaG

[root@host2 mysql_rpm]# mysql -p mysql

Enter password:

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

Your MySQL connection id is 4

Server version: 5.6.22

Copyright (c) 2000, 2014, 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;

ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

mysql>

mysql> SET PASSWORD = PASSWORD('123456');

Query OK, 0 rows affected (0.31 sec)

mysql> flush privileges;

mysql> \q

Bye

[root@host2 mysql_rpm]#

附:

这样安装后的文件

[root@host2 mysql_rpm]# ll /usr/bin/mysql*

-rwxr-xr-x. 1 root root 11558 Nov 21 14:26 /usr/bin/mysqlbug

-rwxr-xr-x. 1 root root 4334 Nov 21 14:26 /usr/bin/mysql_convert_table_format

-rwxr-xr-x. 1 root root 26356 Nov 21 14:26 /usr/bin/mysqld_multi

-rwxr-xr-x. 1 root root 24691 Nov 21 14:26 /usr/bin/mysqld_safe

-rwxr-xr-x. 1 root root 7424 Nov 21 14:26 /usr/bin/mysqldumpslow

-rwxr-xr-x. 1 root root 1366 Nov 21 14:26 /usr/bin/mysql_fix_extensions

-rwxr-xr-x. 1 root root 34938 Nov 21 14:26 /usr/bin/mysqlhotcopy

-rwxr-xr-x. 1 root root 34612 Nov 21 14:26 /usr/bin/mysql_install_db

-rwxr-xr-x. 1 root root 4701102 Nov 21 14:28 /usr/bin/mysql_plugin

-rwxr-xr-x. 1 root root 10106 Nov 21 14:26 /usr/bin/mysql_secure_installation

-rwxr-xr-x. 1 root root 17584 Nov 21 14:26 /usr/bin/mysql_setpermission

-rwxr-xr-x. 1 root root 8681526 Nov 21 14:28 /usr/bin/mysqltest

-rwxr-xr-x. 1 root root 4381081 Nov 21 14:26 /usr/bin/mysql_tzinfo_to_sql

-rwxr-xr-x. 1 root root 4859343 Nov 21 14:28 /usr/bin/mysql_upgrade

-rwxr-xr-x. 1 root root 3976 Nov 21 14:26 /usr/bin/mysql_zap

[root@host2 mysql_rpm]#

[root@host2 mysql_rpm]# ll /var/lib/mysql/mysql*

srwxrwxrwx. 1 mysql mysql 0 Jan 20 13:35 /var/lib/mysql/mysql.sock

/var/lib/mysql/mysql:

total 1628

-rw-------. 1 mysql mysql 8820 Jan 20 13:10 columns_priv.frm

-rw-------. 1 mysql mysql 0 Jan 20 13:10 columns_priv.MYD

-rw-------. 1 mysql mysql 4096 Jan 20 13:10 columns_priv.MYI

-rw-------. 1 mysql mysql 9582 Jan 20 13:10 db.frm

[root@host2 mysql_rpm]# ll /var/lib/mysql/

total 110624

-rw-rw----. 1 mysql mysql 56 Jan 20 13:35 auto.cnf

-rw-r-----. 1 mysql root 2021 Jan 20 13:35 host2.err

-rw-rw----. 1 mysql mysql 5 Jan 20 13:35 host2.pid

-rw-rw----. 1 mysql mysql 12582912 Jan 20 13:35 ibdata1

-rw-rw----. 1 mysql mysql 50331648 Jan 20 13:35 ib_logfile0

-rw-rw----. 1 mysql mysql 50331648 Jan 20 13:10 ib_logfile1

drwx--x--x. 2 mysql mysql 4096 Jan 20 13:10 mysql

srwxrwxrwx. 1 mysql mysql 0 Jan 20 13:35 mysql.sock

drwx------. 2 mysql mysql 4096 Jan 20 13:10 performance_schema

-rw-r--r--. 1 root root 122 Jan 20 13:10 RPM_UPGRADE_HISTORY

-rw-r--r--. 1 mysql mysql 122 Jan 20 13:10 RPM_UPGRADE_MARKER-LAST

drwxr-xr-x. 2 mysql mysql 4096 Jan 20 13:10 test

[root@host2 mysql_rpm]#

[root@host2 mysql_rpm]# ll /usr/share/

drwxr-xr-x. 28 root root 4096 Jan 20 13:10 mysql

[root@host2 mysql_rpm]# ll /usr/share/mysql/

total 1504

-rwxr-xr-x. 1 root root 1153 Nov 21 14:26 binary-configure

drwxr-xr-x. 2 root root 4096 Jan 20 13:10 bulgarian

drwxr-xr-x. 2 root root 4096 Jan 20 13:10 charsets

drwxr-xr-x. 2 root root 4096 Jan 20 13:10 czech

drwxr-xr-x. 2 root root 4096 Jan 20 13:10 danish

-rwxr-xr-x. 1 root root 25575 Nov 21 13:39 dictionary.txt

drwxr-xr-x. 2 root root 4096 Jan 20 13:10 dutch

drwxr-xr-x. 2 root root 4096 Jan 20 13:10 english

-rwxr-xr-x. 1 root root 505241 Nov 21 13:39 errmsg-utf8.txt

drwxr-xr-x. 2 root root 4096 Jan 20 13:10 estonian

-rwxr-xr-x. 1 root root 742787 Nov 21 13:40 fill_help_tables.sql

drwxr-xr-x. 2 root root 4096 Jan 20 13:10 french

drwxr-xr-x. 2 root root 4096 Jan 20 13:10 german

drwxr-xr-x. 2 root root 4096 Jan 20 13:10 greek

drwxr-xr-x. 2 root root 4096 Jan 20 13:10 hungarian

-rwxr-xr-x. 1 root root 3963 Nov 21 13:39 innodb_memcached_config.sql

drwxr-xr-x. 2 root root 4096 Jan 20 13:10 italian

drwxr-xr-x. 2 root root 4096 Jan 20 13:10 japanese

drwxr-xr-x. 2 root root 4096 Jan 20 13:10 korean

-rwxr-xr-x. 1 root root 773 Nov 21 13:39 magic

-rwxr-xr-x. 1 root root 1126 Nov 21 14:26 my-default.cnf

-rwxr-xr-x. 1 root root 1061 Nov 21 14:26 mysqld_multi.server

-rwxr-xr-x. 1 root root 844 Nov 21 14:26 mysql-log-rotate

-rwxr-xr-x. 1 root root 1695 Nov 21 13:39 mysql_security_commands.sql

-rwxr-xr-x. 1 root root 10815 Nov 21 14:26 mysql.server

-rwxr-xr-x. 1 root root 3464 Nov 21 13:39 mysql_system_tables_data.sql

-rwxr-xr-x. 1 root root 93220 Nov 21 13:39 mysql_system_tables.sql

-rwxr-xr-x. 1 root root 10410 Nov 21 13:39 mysql_test_data_timezone.sql

drwxr-xr-x. 2 root root 4096 Jan 20 13:10 norwegian

drwxr-xr-x. 2 root root 4096 Jan 20 13:10 norwegian-ny

drwxr-xr-x. 2 root root 4096 Jan 20 13:10 polish

drwxr-xr-x. 2 root root 4096 Jan 20 13:10 portuguese

drwxr-xr-x. 2 root root 4096 Jan 20 13:10 romanian

drwxr-xr-x. 2 root root 4096 Jan 20 13:10 russian

drwxr-xr-x. 3 root root 4096 Jan 20 13:10 SELinux

drwxr-xr-x. 2 root root 4096 Jan 20 13:10 serbian

drwxr-xr-x. 2 root root 4096 Jan 20 13:10 slovak

drwxr-xr-x. 2 root root 4096 Jan 20 13:10 spanish

drwxr-xr-x. 2 root root 4096 Jan 20 13:10 swedish

drwxr-xr-x. 2 root root 4096 Jan 20 13:10 ukrainian

[root@host2 mysql_rpm]#

参考:
http://dev.mysql.com/doc/refman/5.6/en/linux-installation-rpm.html
修改编码:

命令:vi /etc/my,cnf

在[client ]下面加入

default-character-set=utf8

在[ mysqld ] 下面加

character_set_server=utf8

init_connect=’SET NAMES utf8′(或者是SET NAMES ‘utf8′)

网上说在 [ mysql ] 下面加入

default-character-set=utf8

我测试了下是不可以,因为mysqld不识别它,所以我改成character_set_server=utf8

GBK: create database test2 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

UTF8: CREATE DATABASE `test2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

注意:如果不是通过my.ini配置文件设置的内容,只在当前状态下有效,当重启数据库服务后失效。所以如果想要不出现乱码只有修改my.ini文件,数据库编码可以在创建数据库时候指定UTF8,如下:

|character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | utf8 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | latin1 |

| character_set_system | utf8

注意该配置| character_set_server | latin1 无法设置成UTF8

交互时候仍然会出现乱码。

只有当修改my.ini中设置UTF8,才会全部修改成UTF8

-------------------------

mysql设置编码命令

SET character_set_client = utf8;

SET character_set_connection = utf8;

SET character_set_database = utf8;

SET character_set_results = utf8;/*这里要注意很有用*/

SET character_set_server = utf8;

SET collation_connection = utf8_bin;

SET collation_database = utf8_bin;

SET collation_server = utf8_bin;

my.ini中配置默认编码

default-character-set=utf8

连接数据库设置编码

jdbc:mysql://192.168.0.5:3306/test?characterEncoding=utf8

/*****************************************java与mysq编码对应****************************************/

java中的常用编码UTF-8;GBK;GB2312;ISO-8859-1;

对应mysql数据库中的编码utf8;gbk;gb2312;latin1

---------------------------

数据库连接串中指定字符集URL=jdbc:mysql://yourIP/college?user=root&password=yourPassword&useUnicode=true&characterEncoding=gbk
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: