linux-mysql离线安装

MySQL服务器的搭建及编程

mysql安装包下载: https://dev.mysql.com/downloads/mysql/

解压下载的安装包

tar -zxvf  mysql-5.6.46-linux-glibc2.12-i686.tar.gz

切换为root用户

sudo su

重命名

 mv mysql-5.6.46-linux-glibc2.12-i686/ mysql

创建mysql用户组及用户

groupadd mysql
useradd -r -g mysql mysql

将解压的mysql文件夹移动到/usr/local目录下

mv mysql/ /usr/local/

进入/usr/local/文件夹并修改mysql文件夹用户组及用户为mysql

cd /usr/local/
chown -R mysql:mysql mysql

这一步主要是为了后面安装依赖包, 如果都有或系统可以联网可以忽略

修改/etc/hosts文件夹将IP和主机名添加进去

vi /etc/hosts

# 添加如下内容
192.168.1.110(备注:改为本机IP) master
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

安装依赖包

apt-get update
apt-get install libnuma1
apt-get install libaio1

对于Ubuntu18.04而言, 只缺少libaio1包

下载链接: https://pkgs.org/search/?q=libaio1

安装.deb包:

sudo dpkg -i <package.deb>

进入mysql/文件夹, 进行安装

./scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data  --user=mysql  --explicit_defaults_for_timestamp

修改data文件及用户组及用户为mysql

chown -R mysql:mysql data

进入mysql/support-files文件夹执行命令, 启动mysql

./mysql.server start

进入mysql/bin修改mysql密码,之前安装时已经提示如何修改(注意new-password是设定的新密码),拷贝数据库头文件,加入数据库库函数到系统中

./mysqladmin -u root password 'new-password'

# 此处是为了C语言操作mysql
cd ..
cp -rf include/* /usr/local/include/
echo "/usr/local/mysql/lib" >>/etc/ld.so.conf
ldconfig

进入mysql/bin登录mysql

./mysql -uroot -p

允许远程用户连接(需要先进入mysql)

use mysql;
SELECT User, Password, Host FROM user;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

其中"."代表所有资源所有权限, “'root'@%”其中root代表账户名,%代表所有的访问地址,也可以使用一个唯一的地址进行替换,只有一个地址能够访问。如果是某个网段的可以使用地址与%结合的方式,如10.0.42.%。IDENTIFIED BY 'root',这个root是指访问密码。WITH GRANT OPTION允许级联授权。

FLUSH PRIVILEGES;

C语言连接mysql, hello.c

#include <stdio.h>  
#include <mysql.h>  
   
int main(int argc, const char *argv[])  
{  
    MYSQL   mysql;  
   
    if (NULL == mysql_init(&mysql)) {    //为数据库分配和初始化MYSQL对象  
        printf("mysql_init(): %s\n", mysql_error(&mysql));  
        return -1;  
    }  
   
    //尝试与运行在主机上的MySQL数据库引擎建立连接  
    if (NULL == mysql_real_connect(&mysql,  
                "localhost",  
                "root",  
                "12345",          //密码
                "db_users",      //数据库名称
                0,  
                NULL,  
                0)) {  
        printf("mysql_real_connect(): %s\n", mysql_error(&mysql));  
        return -1;  
    }  
   
    printf("Connected MySQL successful! \n");  
   
    mysql_close(&mysql);  
    return 0;  
}  

编译时指定mysql 对应头文件和库文件即可

gcc -o hello hello.c  -I /usr/include/mysql/ -L /usr/local/mysql/lib -lmysqlclient

注意:到这步为止还没有加入开机自启动, 如果重新开机, 需要重新进入mysql/support-files文件夹执行命令, 启动mysql

设置开机自启动mysql服务

cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
chkconfig --add mysqld

执行此步后同时可以简化mysql启动

service mysqld start

进行此步可以直接在终端使用mysql命令

vi ~/.bash_profile

# 加入如下内容:
export PATH=$PATH:/usr/local/mysql/bin

终端执行命令

source ~/.bash_profile
posted @ 2020-08-10 19:27  漫漫长夜何时休  阅读(1536)  评论(0编辑  收藏  举报