• linux版本的mysql安装


    linux版本的mysql安装

    一 . 二进制 rpm包安装

    yum -y install mysql-server mysql
    

    二. 源码安装

    2.1 解压 tar 包

    cd /software
    tar -xzvf mysql-5.6.47-linux-gibc2.5-x86_64.tar.gz
    mv mysql-5.6.47-linux-gibc2.5-x86_64 mysql-5.6.47
    

    2.2 添加用户与组

    groupadd mysql
    useradd -r -g mysql mysql
    chown -R mysql:mysql mysql-5.6.47
    

    2.3 安装数据库

    su mysql
    cd mysql-5.6.47/scripts
    ./mysql_install_db --user=mysql --basedir=/software/mysql-5.6.47 --datadir=/software/mysql-5.6.47/data
    

    2.4 配置文件

    cd /software/mysql-5.6.47/support-files
    cp my-default.cnf /etc/my.cnf
    cp mysql.server /etc/init.d/mysql
    vim /etc/init.d/mysql   #若mysql的安装目录是/usr/local/mysql,则可省略此步
    -- 修改文件中的两个变更值
    basedir=/software/mysql-5.6.47
    datadir=/software/mysql-5.6.47/data
    

    2.5 配置环境变量

    vim /etc/profile
    export MYSQL_HOME="/software/mysql-5.6.47"
    export PATH="$PATH:$MYSQL_HOME/bin"
    source /etc/profile
    

    2.6 添加自启动服务

    chkconfig --add mysql
    chkconfig mysql on
    

    2.8 启动mysql

    service mysql start
    

    2.8 登录mysql及改密码与配置远程访问

    mysqladmin -u root password 'your_password'     #修改root用户密码
    mysql -u root -p     #登录mysql,需要输入密码
    mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_password' WITH GRANT OPTION;     #允许root用户远程访问
    mysql>FLUSH PRIVILEGES;     #刷新权限
    

    三. 源码安装mariadb

    3.1 解压

    tar zxvf  mariadb-5.5.31-linux-x86_64.tar.gz   
    mv mariadb-5.5.31-linux-x86_64 /usr/local/mysql //必需这样,很多脚本或可执行程序都会直接访问这个目录
    

    3.2 权限

    groupadd mysql             //增加 mysql 属组 
    useradd -g mysql mysql     //增加 mysql 用户 并归于mysql 属组 
    chown mysql:mysql -Rf  /usr/local/mysql    // 设置 mysql 目录的用户及用户组归属。 
    chmod +x -Rf /usr/local/mysql    //赐予可执行权限 
    

    3.3 拷贝配置文件

    cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf     //复制默认mysql配置 文件到/etc目录 
    

    3.4 初始化

    /usr/local/mysql/scripts/mysql_install_db --user=mysql          //初始化数据库 
    cp  /usr/local/mysql/support-files/mysql.server    /etc/init.d/mysql    //复制mysql服务程序 到系统目录 
    chkconfig  mysql on     //添加mysql 至系统服务并设置为开机启动 
    service  mysql  start  //启动mysql
    

    3.5 环境变量配置

    vim /etc/profile   //编辑profile,将mysql的可执行路径加入系统PATH
    export PATH=/usr/local/mysql/bin:$PATH 
    source /etc/profile  //使PATH生效。
    

    3.6 账号密码

    mysqladmin -u root password 'yourpassword' //设定root账号及密码
    mysql -u root -p  //使用root用户登录mysql
    use mysql  //切换至mysql数据库。
    select user,host,password from user; //查看系统权限
    drop user ''@'localhost'; //删除不安全的账户
    drop user root@'::1';
    drop user root@127.0.0.1;
    select user,host,password from user; //再次查看系统权限,确保不安全的账户均被删除。
    flush privileges;  //刷新权限
    

    3.7 一些必要的初始配置

    # 1)修改字符集为UTF8
    vi /etc/my.cnf
    在[client]下面添加 default-character-set = utf8
    在[mysqld]下面添加 character_set_server = utf8
    # 2)增加错误日志
    vi /etc/my.cnf
    # 在[mysqld]下面添加:
    log-error = /usr/local/mysql/log/error.log
    general-log-file = /usr/local/mysql/log/mysql.log
    # 3) 设置为不区分大小写,linux下默认会区分大小写。
    vi /etc/my.cnf
    # 在[mysqld]下面添加:
    lower_case_table_name=1
    
    # 修改完重启:
    service  mysql  restart
    

    四. 忘记密码

    方法1: 删除授权库mysql,重新初始化

    rm -rf /var/lib/mysql/mysql #所有授权信息全部丢失!!!
    systemctl restart mariadb
    mysql
    
    

    方法2: 启动时,跳过授权库

    [root@egon ~]# vim /etc/my.cnf    #mysql主配置文件
    [mysqld]
    skip-grant-table
    [root@egon ~]# systemctl restart mariadb
    [root@egon ~]# mysql
    MariaDB [(none)]> update mysql.user set password=password("123") where user="root" and host="localhost";
    MariaDB [(none)]> flush privileges;
    MariaDB [(none)]> q
    [root@egon ~]# #打开/etc/my.cnf去掉skip-grant-table,然后重启
    [root@egon ~]# systemctl restart mariadb
    [root@egon ~]# mysql -u root -p123 #以新密码登录
    
    
  • 相关阅读:
    (转)Javascript的DOM操作
    (转)关于 Java 对象序列化您不知道的 5 件事
    java计算某个日期是什么节气(24节气)
    HTML5 客户端存储数据的两种方式
    laytpl : 一款非常轻量的JavaScript模板引擎
    解决阿里云服务器3306端口无法访问的问题(windows server 2008r2)
    阿里云服务器windows server2008r2+tomcat8.0+nginx1.12
    使用log4j2打印Log,log4j不能打印日志信息,log4j2不能打印日志信息,log4j和logj2,idea控制台信息乱码(文末)
    Android 实现http通信(servlet做服务器端) HttpClient、HttpURLConnection实现登录验证
    windows查看端口占用、结束进程
  • 原文地址:https://www.cnblogs.com/jkeykey/p/14457346.html
Copyright © 2020-2023  润新知