MySQL介绍
MySQL原本是一个开放源码的关系数据库管理系统,原开发者为瑞典的MySQL AB公司,该公司于2008年被昇阳微系统(Sun Microsystems)收购。2009年,甲骨文公司(Oracle)收购昇阳微系统公司,MySQL成为Oracle旗下产品。
MySQL在过去由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,因此被广泛地应用在Internet上的中小型网站中。随着MySQL的不断成熟,它也逐渐用于更多大规模网站和应用,比如维基百科、Google和Facebook等网站。非常流行的开源软件组合LAMP中的“M”指的就是MySQL。
MySQL的license现在分为免费的社区版与收费的标准版、企业版等[7]。一般说来,如果在非开源项目中发布了MySQL,或者需要Oracle公司提供对MySQL的技术支持,或者使用MySQL的一些企业版工具或插件,或者修改MySQL源代码并作为闭源的软件等等情形,需要购买商业版本。如果只是安装并使用MySQL,甚至修改并使用MySQL,无论是否收费;或者软件中不包含MySQL,软件的用户自行安装MySQL;或者使用GPL协议的开源软件产品中包含了MySQL,这些情形可能使用社区版MySQL。(摘自维基百科)
安装环境
- Centos 7.3
- MySQL Community Server 5.7.35
MySQL安装
安装包下载
1
| wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.35.tar.gz
|
安装依赖包
1
| yum -y install gcc gcc-c++ bzip2-* bison cmake ncurses ncurses-devel openssl openssl-devel zlib-devel libtirpc.x86_64 libtirpc-devel.x86_64
|
解压安装包
1
| tar zxvf mysql-boost-5.7.35.tar.gz
|
编译
1 2 3 4 5 6 7 8
| cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/usr/local/mysql/data/ \ -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DENABLED_LOCAL_INFILE=1 -DEXTRA_CHARSETS=all-DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci -DWITH_DEBUG=0 \ -DWITH_EMBEDDED_SERVER=1 -DDOWNLOAD_BOOST=1 \ -DENABLE_DOWNLOADS=1 -DWITH_BOOST=boost
|
编译参数说明
- -DCMAKE_INSTALL_PREFIX=/usr/local/mysql //编译指定安装后的目录
- -DMYSQL_DATADIR=/usr/local/mysql/data/ //编译指定数据的存储目录
- -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock // 编译指定UNIX socket文件
- -DWITH_INNOBASE_STORAGE_ENGINE=1 //启用InnoDB引擎支持
- -DWITH_MYISAM_STORAGE_ENGINE=1 //
- -DENABLED_LOCAL_INFILE=1 //启用加载本地数据
- -DEXTRA_CHARSETS=all-DDEFAULT_CHARSET=utf8 //扩展字符集支持utf8
- -DDEFAULT_COLLATION=utf8_general_ci //默认字符校对
- -DWITH_DEBUG=0 //禁用调式模式
- -DWITH_EMBEDDED_SERVER=1 //启用嵌入式服务器
- -DDOWNLOAD_BOOST=1 //
- -DENABLE_DOWNLOADS //
- -DWITH_BOOST //
安装
1
| make -j2 && make install
|
安装后的优化准备
新建用户mysql
1
| useradd -s /sbin/nologin -r mysql
|
创建MySQL文件夹并赋权
1
| mkdir -pv /usr/local/mysql/data
|
1
| chown -R mysql:mysql /usr/local/mysql/
|
创建启动项
1
| cp support-files/mysql.server /etc/init.d/mysql
|
1
| chmod 755 /etc/init.d/mysql
|
创建相关软链接
1 2 3 4 5
| ln -sf /usr/local/mysql/bin/* /usr/bin/ ln -sf /usr/local/mysql/lib/* /usr/lib/ ln -sf /usr/local/mysql/libexec/* /usr/local/libexec ln -sf /usr/local/mysql/share/man/man1/* /usr/share/man/man1 ln -sf /usr/local/mysql/share/man/man8/* /usr/share/man/man8
|
修改配置文件
1 2 3 4 5 6 7 8 9
| [mysqld] user=mysql basedir=/usr/local/mysql datadir=/usr/local/mysql/data socket=/usr/local/mysql/mysql.sock character_set_server=utf8 [mysqld_safe] log-error=/var/log/mysql.log pid-file=/var/run/mysql.pid
|
初始化数据库
1
| /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
|
启动数据库并配置安全初始化
1
| mysql_secure_installation
|
附:创建数据库&创建数据库用户
- 创建数据库xxx
1
| create database xxx character set utf8 collate utf8_bin;
|
- 赋权
1
| grant all privileges on xxxxxx.* to xxx@'%' identified by 'xxxxxxx';
|
- 设置编码utf8
- 刷新权限