[Seek Help] deepin中mysql安装
Tofloor
poster avatar
132******62
deepin
2024-10-13 22:09
Author

使用apt-get instal mysql-server mysql-client mysql-common安装mysql显示没有可安装候选,然后按照官网的去配置mysql8.0.31的时候出现了无法连接mysql

Reply Favorite View the author
All Replies
neko
deepin
Ecological co-builder
2024-10-13 22:10
#1

截图看看

Reply View the author
neko
deepin
Ecological co-builder
2024-10-13 22:10
#2

或者使用mariadb代替mysql

Reply View the author
蔡EEPIN
deepin
2024-10-13 22:31
#3

用docker吧,反正不是生产环境

Reply View the author
raspbian
deepin
2024-10-13 22:47
#4

源码安装

或者

直接用docker

Reply View the author
hinata
deepin
2024-10-14 00:11
#5

agree

Reply View the author
red13
deepin
2024-10-14 00:23
#6
  1. 官方下载 Mysql 8.2

  2. 解压到需要的文件夹去 (建议放到 /opt/mysql/mysql8)

  3. 建立 mysql 的用户与组 (groupadd mysql && useradd -r -g mysql mysql)

  4. 创建软链接到系统中,后继服务与配置中会使用到

    cd /usr/local && sudo ln -s /opt/mysql/mysql8 mysql8

    cd /usr/bin && sudo ln -s /opt/mysql/mysql8/bin/mysql mysql8

  5. 编辑或创建 my8.cnf 就放在 /opt/mysql/mysql8/my8.cnf 内容如下:

    [mysqld]
    #开发测试环境关闭 binlog
    skip-log-bin
    #skip-grant-tables
    server-id=1
    #所有地址都能访问
    bind-address=0.0.0.0
    #设置端口为3307,为其它版本数据库与默认安装数据库留位置
    port=3307
    #用户
    user=mysql
    #语句自动提交
    autocommit=1
    #编码
    character_set_server=utf8mb4
    #连接数(开发测试环境不重要
    max_connections=2000
    #max_connect_errors =10
    #innodb_flush_log_at_trx_commit=0
    #join_buffer_size=4M
    #tmp_table_size=64M
    #interactive_timeout=600
    #read_rnd_buffer_size=8388608
    #read_buffer_size = 4194304
    #sort_buffer_size =4194304
    #数据库类型
    default-storage-engine=INNODB
    innodb_page_size = 16384
    #缓存与性能关系巨大,一般设置为总内存的 1/4 ,调优具体值得看实际作业需求
    innodb_buffer_pool_size=4G
    #innodb_lru_scan_depth=2000
    #innodb_io_capacity_max = 8000
    #innodb_io_capacity = 4000
    #innodb_file_format = Barracuda
    #innodb_flush_neighbors = 0
    #在初始化前,得做一个软链接映射数据库文件夹,主要是不想将所有东西都安装到系统里
    basedir=/usr/local/mysql8
    #数据库存放的文件夹
    datadir=(自己给一个绝对位置,注意文件夹的所属用户)
    #连接文件,进程文件与错误文件,别折腾了,和数据库放在一起
    socket=(自己给一个绝对位置,注意文件夹的所属用户)/mysql8.sock
    pid-file=(自己给一个绝对位置,注意文件夹的所属用户)/mysql8.pid
    log-error=(自己给一个绝对位置,注意文件夹的所属用户)/mysql8_err.log
    #创建数据库时,所有的表名不区分大小写
    lower_case_table_names = 1

    [mysql]
    [client]
    #客户端的连接文件与服务端一样就行
    socket=(自己给一个绝对位置,注意文件夹的所属用户)/mysql8.sock
    character_set_client=utf8mb4

  6. 创建服务文件 mysql8.service,确认无误后放到 /etc/systemd/system 里边去, 内容如下

    [Unit]
    Description=MySQL8 Community Server
    After=network.target
    [Install]
    WantedBy=multi-user.target
    [Service]
    #用户
    User=mysql
    #用户组
    Group=mysql
    Type=forking
    PermissionsStartOnly=true
    PIDFile=(my8.cnf 配置文件中的一样路径)/mysqld8.pid
    #前边软链接的文件路径 /usr/local/mysql8
    #启动时连接指定的cnf配置,不去 /etc 下找,免去冲突
    #--defaults-file=/usr/local/mysql8/my8.cnf
    ExecStart=/usr/local/mysql8/bin/mysqld --defaults-file=/usr/local/mysql8/my8.cnf --daemonize --pid-file=(my8.cnf 配置文件中的一样路径)/mysqld8.pid
    TimeoutSec=10
    LimitNOFILE = 5000
    Restart=on-failure
    RestartPreventExitStatus=1
    RuntimeDirectory=mysqld
    RuntimeDirectoryMode=755

  7. 创建数据库存放的文件夹并同步给文件夹修改所属用户 chown -R mysql.mysql (mysql 与 数据库文件夹)

  8. 进入数据库安装程序的 bin 路径准备初始化数据库.

    cd /opt/mysql/mysql8/bin

    ./mysqld --defaults-file=/opt/mysql/mysql8/my8.cnf --basedir=/usr/local/mysql8 --datadir=(自己建的数据库路径) --user=mysql --initialize

    初始化完成后,去查看配置文件中 log-error=(自己给一个绝对位置,注意文件夹的所属用户)/mysql8_err.log,里边有初始密码,localhost: XXXXXXX 就是密码

  9. 初始化后,测试一下是否能通过服务启动 systemctl start mysql8 一般没有问题的.不建议设置为自动启动,浪费资源.

  10. 综上,安装其它版本的mysql也就是大同小异,注意一下端口与路径就行了.

Reply View the author
Oli
deepin
2024-10-14 00:39
#7

agree agree

Reply View the author
小小怪冲啊!
deepin
2024-10-14 04:10
#8

听回复最长的

Reply View the author
乾豫恒益
deepin
2024-10-17 09:54
#9

这个回复真专业。。。

Reply View the author