• centos6下通用二进制格式安装MySQL过程


    1、首先确保主机的MySQL没有运行

    #ss -tnl  //查看有没有80端口

    或者

    #service mysqld stop

     

    2、添加mysql用户和组

    #id mysql  //首先查看mysql用户是否存在

    #groupadd -r -g 306 mysql  //添加系统组mysql,并指明组id

    #useradd -r -g 306 -u 306 mysql  //添加用户,并指明id号

    3、下载mariadb并解压

    #tar xf mariadb-5.5.46-linux-x86_64.tar.gz  -C /usr/local  //根据要求解压到指定目录,如果创建到其他目录下,则需要利用#ln -sv创建符号链接,即通过/usr/local/mysql可以当问到文件

    #cd /usr/local  

    #ln -sv mariadb-5.5.46-linux-x86_64 mysql  //创建符号链接

    #cd  /usr/local/mysql

    #ll  //查看目录下的文件属主属组

    #chown -R root:mysql ./*  //递归修改mysql目录下的所有文件的属主为root,属组为mysql

           文件中有一个data目录,是用来存放数据库中的数据的,但是数据会逐渐增大,所以需要单独放在一个挂载的磁盘中,

    4、添加一个磁盘并进行格式化,本主机单独空了sdb,这里是/dev/sdb2

    #fdisk /dev/sdb  --> n --> p --> 1 -->+10G  -->t -->8e -->w  

    #partx -a /dev/sdb  告诉内核当前磁盘的分区情况,  -a :增加制定的分区或读磁盘新增的分区

    # pvcreate /dev/sdb2 // 创建pv

    #vgs  //查看当前已有的卷组    卷组(Volume Group)将多个物理卷组织成一个整体,屏蔽了底层物理卷细节。在卷组上创建逻辑卷时不用考虑具体的物理卷信息。

    #vgcreate myvg /dev/sdb2  创建LVM卷组。

    #lvcreate -L 8G -n mydata myvg  //创建LVM的逻辑卷。逻辑卷是创建在卷组之上的。逻辑卷对应的设备文件保存在卷组目录下,例如:在卷组"vg1000"上创建一个逻辑卷"lvol0",则此逻辑卷对应的设备文件                                                                         为"/dev/vg1000/lvol0"。

    #yum install xfsprogs  //这里采用xfs文件系统

    #modprobe xfs //自动出来可载入模块

    #modinfo xfs  //查看xfs信息

    # mkfs.xfs /dev/myvg/mydata  //格式化逻辑卷

    或者采用ext4系统

    #mke2fs -t ext4 /dev/myvg/mydata

    #mkdir /mydata  //创建挂载目录

    #vim /etc/fstab   添加如下

     /dev/myvg/mydata        /mydata                xfs      defaults         0 0

    #mount -a 

    #mount 就可以看到挂载的目录-->/dev/mapper/myvg-mydata on /mydata type xfs (rw)

    #cd /mydata

    #mkdir data  //在分区上创建一个目录

    #chown mysql:mysql data  //把目录的属主和属组都改为mysql,因为对mysql而言,运行的是mysql用户

     

    5、生成数据库

    #cd /usr/local/mysql   //mysql安装完成后会有四个数据库,其中有一个mysql数据库是用来存放mysql的原数据的,这个数据库需要使用脚本生成

    #ls /scripts  //生成脚本在此目录下mysql_install_db

    #/usr/local/mysql/scripts/mysql_install_db  --user=mysql --datadir=/mydata/data  //指明用户和数据库存放路径,生成数据库

    #ls /mydata/data  
         mysql  performance_schema  test

    6、提供启动服务脚本

    mysql#ls support-file   目录下叫mysql.server

    mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld   //把文件复制到并命名

    # chkconfig --add mysqld  // 把mysql假如到服务列表中去

    chkconfig --list mysqld  

    mysqld          0:off 1:off 2:on 3:on 4:on 5:on 6:off

           此时虽然可以启动,但是还没有配置文件

     7、准备配置文件

    #mkdir /etc/mysql   //为了避免和系统安装的rpm冲突,这里新建一个目录

    mysql]# ls support-files/   //可以看到此目录下有很多样例文件

    my-small.cnf   64M内存

    my-medium.cnf  256M内存

    my-large.cnf   512M内存

    mysql]# cp support-files/my-large.cnf /etc/mysql/my.cnf

    #vim /etc/mysql/my.cnf  //添加后三行

    27 [mysqld]
    28 port = 3306
    29 socket = /tmp/mysql.sock
    30 skip-external-locking
    31 key_buffer_size = 256M
    32 max_allowed_packet = 1M
    33 table_open_cache = 256
    34 sort_buffer_size = 1M
    35 read_buffer_size = 1M
    36 read_rnd_buffer_size = 4M
    37 myisam_sort_buffer_size = 64M
    38 thread_cache_size = 8
    39 query_cache_size= 16M
    40 # Try number of CPU's*2 for thread_concurrency
    41 thread_concurrency = 8
    42 datadir = /mydata/data  //数据库路径
    43 Innodb_file_per_table = on //
    44 skip_name_resolve = on //跳过名称反解,使用mysql客户端链接时,都会把IP地址反解成主机名,并在本地做权限检查。

    #service mysqld start

    # ln -s /usr/local/mysql/bin/mysql /usr/bin

    至此mysqld已经可以成功启动了

    #mysql

    MariaDB [(none)]> use mysql

    MariaDB [mysql]> SELECT User,Host,Password From user;

    可以看得出密码全部为空,且有两个匿名用户,所以要给所有的管理员加上密码,清楚所有匿名用户,即安全初始化

    8、MySQL安全初始化

     # /usr/local/mysql/bin/mysql_secure_installation   //直接回车

    Enter current password for root (enter for none):   //因为现在root没有密码,所以直接回车 

    Set root password? [Y/n]    //是否为管理员设置密码,当然是,y

    New password:
    Re-enter new password:   // 输入两次密码

    Remove anonymous users? [Y/n]   //是否删除匿名用户,当然要

    Disallow root login remotely? [Y/n]   //是否禁止管理员远程登陆,这个在实际生产环境中是必须要禁止的,因为数据很重要,管理员权限很大,必须禁止

    Remove test database and access to it? [Y/n]    //是否移除测试数据库,看个人

    Reload privilege tables now? [Y/n]   //是否重载授权表,改了管理员密码或者创建用户都需要重载-->Y

    #mysql -uroot -p   //再次登陆就需要输入密码了

    MariaDB [(none)]> use mysql
    Database changed
    MariaDB [mysql]> SELECT User,Host,Password From user;

    可以看得出匿名用户已经被清除,且每个管理员都有密码

     

  • 相关阅读:
    基于android混合开发的JsBridge技术学习
    使用centos引导内核错误:kernel: pnp 00:0b: can't evaluate _CRS: 8
    mysql的错误:The server quit without updating PID file /usr/local/mysql/data/door.pid).
    关于新的man版本出现“无法解析 /usr/share/man/zh_CN/man1/ls.1.gz: 没有那个文件或目录“
    使用struts2标签<s:action无法显示引用页面问题
    cookie 跨域的问题
    mysql8.0 在window环境下的部署与配置
    webconfig的配置解析
    C#.net 创建XML
    HashMap和HashTable的区别
  • 原文地址:https://www.cnblogs.com/hanshanxiaoheshang/p/9193958.html
Copyright © 2020-2023  润新知