参考:http://blog.csdn.net/beiigang/article/details/43051901
如果是redhat 6 安装 mysql 5.7 如果开启log_bin了,记得加一个 server-id = 1 (记得重启),否则启动不了。
参考http://blog.csdn.net/liyf155/article/details/61419623
centos 安装参考:http://www.linuxidc.com/Linux/2015-04/116003.htm
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
如果这步出错,说什么file /usr/share/mysql/charsets/README from install of MySQL-server-5.5.36-1.linux2.6.x86_64 conflicts with file from package mariadb-libs-1:5.5.41-2.el7_0.x86_64 类似的,执行下面一句。然后再执行刚才的命令
[root@bogon develop]# yum remove mysql-libs
参考:http://blog.csdn.net/liuyifeng1920/article/details/49800033
[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 |
---|---|
| Clientprograms and scripts |
| Themysqldserver |
| Logfiles, databases |
| Manualin Info format |
| Unixmanual pages |
| Include(header) files |
| Libraries |
| Miscellaneoussupport files, including error messages, character set files,sample configuration files, SQL for database installation |
| 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
修改配置
开启日志,和设置日志过期天数
expire_logs_days = 5//表示日志保留5天,超过5天则设置为过期的
max_binlog_size
log-bin=mysql-bin
查看密码 cat /root/.mysql_secret
使用初始密码登录mysql:
1
|
mysql
-
uroot
-
p
|
然后使用如下命令修改密码:
1
|
mysql>
set
password
=
password(
'新密码'
);
|
1
|
# 或者set PASSWORD = PASSWORD('新密码'); 也可以
|
1
|
mysql> flush privileges;
#刷新
|
如果有什么外面的工具访问不了,报错。解决方式
找到mysql下的user表,把host不等于localhost的某行记录的host改为 % 然后把密码改为和localhost的那行的相等(update user a join user b on a.host='%' and b.host='localhost' set a.password = b.password;)。把密码过期字段改为N 。(update user set password_expired='N';)
然后 FLUSH PRIVILEGES; 重启服务
有时候可能是防火墙问题,记得关闭防火墙。
设置不区分大小写
vi /etc/my.cnf
lower_case_table_names=1
重启mysql服务
参考:http://fity.cn/post/497.html