У меня есть две подлые гипотезы на этом
Посмотрите на возможность не иметь доступа к файлу /tmp/mysql.sock
. Когда я устанавливаю базы данных MySQL, я обычно разрешаю сайт файла сокета в /var/lib/mysql
. Если вы входите в mysql как root@localhost
, ваш сеанс ОС должен получить доступ к папке /tmp
. Убедитесь, что /tmp
имеет правильные права доступа в ОС. Кроме того, убедитесь, что пользователь sudo всегда может читать файл в /tmp
.
Доступ к mysql через 127.0.0.1
может вызвать некоторую путаницу, если вы не обращаете внимания. Как?
Из командной строки, если вы подключаетесь к MySQL с 127.0.0.1
, вам может потребоваться указать протокол TCP / IP.
mysql -uroot -p -h127.0.0.1 --protocol=tcp
или попробуйте DNS-имя
mysql -uroot -p -hDNSNAME
Это приведет к обходу входа в систему как root@localhost
, но убедитесь, что у вас установлен root@'127.0.0.1'
.
При следующем подключении к MySQL запустите это:
SELECT USER(),CURRENT_USER();
Что это дает вам?
Если эти функции возвращаются с одинаковыми значениями, то вы подключаетесь и проверяете подлинность, как ожидалось. Если значения разные, вам может потребоваться создать соответствующего пользователя root@127.0.0.1
.
RowSource
сделан для столбцовидного диапазона : если вы назначите ему строковый диапазон , вы получите только первую ячейку
Но Вы можете использовать свойство List
объекта ComboBox
и заполнить его полученными значениями, переставляя строковый диапазон из :
Private Sub UserForm_Activate()
Dim res As String
Dim cell As Range: Set cell = Sheets("Pomocne").Range("B2")
Dim endcell As Range
Do Until IsEmpty(cell)
Set endcell = cell
Set cell = cell.Offset(0, 1)
Loop
res = "Pomocne!B2:" & Replace(endcell.Address, "$", "")
obor_combo.List = Application.Transpose(Range(res).Value)
End Sub
, который можно упростить до: [1110 ]
Private Sub UserForm_Activate()
With Sheets("Pomocne")
obor_combo.List = Application.Transpose(.Range("B2", .Cells(2, .Columns.Count).End(xlToLeft)).Value)
End With
End Sub