一、编译安装MariaDB(注意:MariaDB的编译安装方式与MySQL相同)
1、准备生产环境中数据目录(逻辑卷)
# fdisk /dev/sda 创建一个逻辑分区/dev/sda6
创建逻辑卷 #pvcreate /dev/sda6 #vgcreate myvg /dev/sda6 #lvcreate -L 10G -n mydata /dev/myvg 格式化逻辑卷 #mke2fs -t ext4 /dev/myvg/mydata
创建数据目录 #mkdir -pv /mydata/data 挂载逻辑卷到数据目录,并添加到开机自动挂载
#groupadd -r mysql 创建mysql组 #useradd -g mysql -r -d /mydata/data 创建mysql用户 #chown mysql;mysql /mydata/data 更改数据目录的属主属组
#yum -y install cmake
安装特定的开发包(防止编译时出错) #yum -y install readline-devel zlib-devel openssl-devel
cmake指定编译选项的方式不同于make,其实现方式对比如下: ./configure cmake . ./configure --help cmake . -LH or 指定安装文件的安装路径时常用的选项: -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc 默认编译的存储引擎包括:csv、myisam、myisammrg和heap。若要安装其它存储引擎,可以使用类似如下编译选项: -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 若要明确指定不编译某存储引擎,可以使用类似如下的选项: -DWITHOUT_<ENGINE>_STORAGE_ENGINE=1 比如: -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITHOUT_FEDERATED_STORAGE_ENGINE=1 -DWITHOUT_PARTITION_STORAGE_ENGINE=1 如若要编译进其它功能,如SSL等,则可使用类似如下选项来实现编译时使用某库或不使用某库: -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 其它常用的选项: -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DENABLED_LOCAL_INFILE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_DEBUG=0 -DENABLE_PROFILING=1 如果想清理此前的编译所生成的文件,则需要使用如下命令: make clean rm CMakeCache.txt
5、编译安装
#tar xf mariadb-5.5.36.tar.gz #cd mariadb-5.5.36 #cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/mydata/data/ -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STPRAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWIYH_READLINE=1 -DWIYH_SSL=system -DVITH_ZLIB=system -DWITH_LOBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci #make && make install
初始化数据库 #cd /usr/local/mysql #chown -R mysql:mysql * 更改属主属组 #scripts/mysql_install_db --datadir=/mydata/data --user=mysql 初始化库文件 #chown -R root * 更改属主为root
提供脚本 #cd /usr/local/mysql #cp support-files/mysql.server /etc/rc.d/init.d/mysqld 提供脚本 #chmod +x /etc/rc.d/init.d/mysqld 赋予执行权限 #chkconfig --add mysqld 添加mysqld为系统服务 #chkconfig mysqld on 添加为开机启动
提供配置文件 #cd /usr/local/mysql #cp support-files/my-large.cnf /etc/my.cnf #vim /etc/my.cnf 编辑配置文件[mysqld]段填写如下内容 [mysqld] datadir = /mydata/data 数据目录 thread_concurrency = 4 设置线程数=核心数x2
提供二进制文件 # echo 'export PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh 提供库文件 # echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf 提供头文件 # ln -sv /usr/local/include /usr/include/mysql 提供man手册 # echo 'MANPATH /usr/local/mysql' >> /etc/man.config # man -M /usr/local/mysql/man mysqld 让man手册立刻生效为最新
启动服务 #service mysqld start #ss -ntl | grep :3306
9、初始化MariaDB
初始化第一个操作 配置文件my.cnf 集中式的配置:多个应用程序共用的配置文件 [mysqld] [mysqld_safe] [client] 查看mysql服务器的所有配置信息 #cd /usr/local/mysql/bin #. /mysqld --help --verbose | head -20 Default options are read from the following files in the given order: /etc/mysql/my.conf /etc/my.cnf ~/.my.conf 使用配置文件的方式 1、它一次查找每个需要查找的文件,结果是所有文件的并集 2、如果某参数在多个文件中出现多次,后读取的最终生效<pre name="code" class="plain">
初始化第二个操作 <span style="white-space:pre"> </span>1、删除所有匿名用户 <span style="white-space:pre"> </span> <span style="white-space:pre"> </span>mysql> DROP USER ''@'localhost'; <span style="white-space:pre"> </span>mysql> DROP USER ''@'127.0.0.1'; <span style="white-space:pre"> </span>2、给所有的root用户设定密码: <span style="white-space:pre"> </span>第一种方式 <span style="white-space:pre"> </span>mysql> set password for usrName@hostName = password('your_passwd'); <span style="white-space:pre"> </span>第二种方式 <span style="white-space:pre"> </span>mysql> update user set password = password('your_passwd') where user = 'root' <span style="white-space:pre"> </span>mysql> flush privileges; <span style="white-space:pre"> </span>第三种方式 (shell命令) <span style="white-space:pre"> </span># mysqladmin -uUserName -hHost password 'new_passwd' -p <span style="white-space:pre"> </span>Host为远程mysql服务器的ip地址 <span style="white-space:pre"> </span># msyqladmin -uUserName -hHost -p flush-privileges;# /user/local/mysql/bin/mysqld --help --verbose 1、显示mysqld程序启动时可用的选项,通常都是长选项 2、显示mysqld的配置文件中可用的服务变量 mysql> SHOW GLOGAL VARIABLES mysql> SHOW SESSION VARIABLES
尚未在CentOS上面安装过,可以参考参考,希望有些步骤适合用。
注意:http://www.cnblogs.com/lvk618/p/4194766.html