Centos6.5下安装mariadb



 1、创建mysql用户mysql组(考虑到应用安全)   

#groupadd -r mysql     创建mysql

#useradd -g mysql -r -d /mydata/data 创建mysql用户

#chownmysql:mysql /mydata/data 更改数据目录的属主属组

 

 2、安装编译器cmake   

#yum -y installcmake

 

安装特定的开发包(防止编译时出错)

#yum -y installreadline-devel zlib-devel openssl-dev

 

下载:

ftp://mirrors.fe.up.pt/pub/mariadb/mariadb-10.0.19/source/mariadb-10.0.19.tar.gz

#tar -zxvfmariadb-10.0.19.tar.gz

# cd mariadb-10.0.19

# 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

**************************************************************************************************************************************

备注:

指定安装文件的安装路径时常用的选项:

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql

-DMYSQL_DATADIR=/data/mysql

-DSYSCONFDIR=/etc

 

默认编译的存储引擎包括:csvmyisammyisammrgheap。若要安装其它存储引擎,可以使用类似如下编译选项:

-DWITH_INNOBASE_STORAGE_ENGINE=1

-DWITH_ARCHIVE_STORAGE_ENGINE=1

-DWITH_BLACKHOLE_STORAGE_ENGINE=1

-DWITH_FEDERATED_STORAGE_ENGINE=1

 

若要明确指定不编译某存储引擎,可以使用类似如下的选项:

-DWITHOUT__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 &&make install

 

 3、准备MariaDB脚本及配置文件

初始化数据库

#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

#cpsupport-files/mysql.server /etc/rc.d/init.d/mysqld 提供脚本

#chmod+x /etc/rc.d/init.d/mysqld   赋予执行权限

#chkconfig --add mysqld   添加mysqld为系统服务

#chkconfigmysqld on      添加为开机启动

  

编译配置文件

#cd /usr/local/mysql

#cpsupport-files/my-large.cnf  /etc/my.cnf

#vim /etc/my.cnf 编辑配置文件[mysqld]段填写如下内容

[mysqld]

datadir= /mydata/data  数据目录

thread_concurrency = 4  设置线程数=核心数x2

 

 4、提供二进制文件,库文件,头文件,man手册

   提供二进制文件

# echo 'exportPATH=/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手册立刻生效为最新

 

 5、启动服务,连接MariaDB服务器

 

  启动服务

#service mysqldstart

#ss -ntl | grep:3306

 

初始化MariaDB

  a、初始化第一个操作

配置文件my.cnf

          集中式的配置:多个应用程序共用的配置文件

          [mysqld]

          [mysqld_safe]

          [client]

查看mysql服务器的所有配置信息

         #cd /usr/local/mysql/bin

        #. /mysqld --help --verbose | head -20

 

Default options areread from the following files in the given order:

 

         /etc/mysql/my.conf  /etc/my.cnf ~/.my.conf

 

         使用配置文件的方式

         1、它一次查找每个需要查找的文件,结果是所有文件的并集

         2、如果某参数在多个文件中出现多次,后读取的最终生效

        # /user/local/mysql/bin/mysqld --help--verbose

 

         1、显示mysqld程序启动时可用的选项,通常都是长选项

         2、显示mysqld的配置文件中可用的服务变量

 

            mysql> SHOW GLOGAL VARIABLES

            mysql> SHOW SESSION VARIABLES

 

b、初始化第二个操作

 

 

1、删除所有匿名用户

 

      mysql> DROP USER ''@'localhost';

 

      mysql> DROP  USER ''@'127.0.0.1';

 

2、给所有的root用户设定密码:

   第一种方式

     mysql> set password forusrName@hostName = password('your_passwd');

   第二种方式

     mysql> update user set password =password('your_passwd') where user = 'root'

     mysql> flush privileges;

 

   第三种方式 (shell命令)

    # mysqladmin -uUserName -hHost password'new_passwd' -p

      Host为远程mysql服务器的ip地址

    # msyqladmin -uUserName -hHost -pflush-privileges;

你可能感兴趣的:(MySQL)